【发布时间】:2020-01-13 13:25:28
【问题描述】:
我是网络编程的初学者我有一个关于 jdbc 驱动程序的简单问题。
我可以将它放在哪里,在服务器库(tomcat/lib)中,还是在 WEB-INF/lib 中?有什么区别?
【问题讨论】:
我是网络编程的初学者我有一个关于 jdbc 驱动程序的简单问题。
我可以将它放在哪里,在服务器库(tomcat/lib)中,还是在 WEB-INF/lib 中?有什么区别?
【问题讨论】:
你可以选择任何一个。
将其放入 tomcat/lib 的好处是该驱动程序可用于部署到 Tomcat 实例的所有应用程序,并且您可以在 Tomcat 服务器配置中配置数据源。缺点是部署的应用程序依赖于服务器配置:如果更换服务器,则需要确保包含这些额外的依赖项。
把它放在WEB-INF/lib 中的好处是应用程序是自包含的(它包含了它所有需要的库),并且在构建你的WAR 时明确地安排了依赖关系。缺点是它可能导致内存泄漏。例如,如果驱动程序已在DriverManager 注册,但在取消部署应用程序时并未取消注册(尽管 Tomcat 对此有保护)。如果驱动程序启动线程但在 Web 应用程序停止时未能停止它们,也会发生类似的内存泄漏。
这两种选择都可以,但根据我的经验,在WEB-INF/lib 中使用驱动程序更为常见(但这可能是我工作环境的结果)。
【讨论】: