在 servlet mvc 中创建 jdbc 连接的哪个位置更好?

Which is better place to create jdbc connection in servlet mvc?

在此先感谢您的关注。作为初学者,我对 jsp servlet 和 jdbc 的 mvc 模式有很好的了解。我的场景是

现在我不确定创建连接的最佳方式,我在下面找到了一些想法,

  1. 通过加载驱动程序在 EmployeeDao 构造函数中创建 jdbc 连接。用于创建 Dao 对象并执行操作,然后使用相同对象的方法销毁以关闭连接来清除连接的服务。
  2. 加载驱动程序并在 servlet 的 init() 方法中创建连接?如果是这样,那么我是否需要将在 init 中创建的连接对象传递给服务,以便它进一步传递 dao?而servlet的destroy()将用于关闭连接。
  3. 使用ServletListener或ServletContextListener(对这些不是很了解(需要一些资料学习)

到目前为止,我一直在使用 Dao class 进行连接和加载驱动程序,但我需要对其进行优化并提高我的应用程序的效率。如果我在某处误导,请纠正我。谢谢你

使用 Spring MVC 和 Spring JDBC(用于处理 DAO)足以满足上述要求。

绝对Spring MVC 将是一个不错的选择。 但是,如果您一定要在 Servlet MVC 中使用,那么您可以访问以下可能对您有所帮助的链接。

如果您只想创建 JDBC 没有数据源的连接,请转到

如果要通过数据源创建,请转到here

所以,最好的解决方案是:

  1. 创建 ServletContextListener
  2. 在contextInitialized方法中获取dataSource连接池。
  3. 在 contextInitialized 方法中创建您需要的所有服务,并使用构造函数(比 setter 更好)将 dataSouce 注入服务。
  4. 将所有服务放入 ServletContext。
  5. 在每个 servlet 的 init 方法中获取指定 servlet 所需的服务。
  6. 快乐,并使用它们:)