gpt4 book ai didi

jsp - Web 应用程序停止时无法注销 JDBC

转载 作者:行者123 更新时间:2023-11-28 23:29:24 24 4
gpt4 key购买 nike

WARNING [http-nio-8181-exec-550] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc 
The web application [comparateur] registered the JDBC driver [com.mysql.jdbc.Driver]
but failed to unregister it when the web application was stopped.
To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

我用过这个类

package servlets;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Enumeration;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyContextListener implements ServletContextListener{

@Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("App shutdown ...");

System.out.println("Deregistering SQL-Drivers ...");
Enumeration<Driver> drivers = DriverManager.getDrivers();
while (drivers.hasMoreElements()) {
Driver driver = drivers.nextElement();
try {
DriverManager.deregisterDriver(driver);
System.out.println(driver.getClass().getName());
} catch (SQLException e) {
System.err.println("Error deregistering driver " +
driver.getClass().getName());
}
}
}

@Override
public void contextInitialized(ServletContextEvent arg0) {
}
}

以及我与 DB 的联系

private String dbName = "NameDB";
private String user = "root";
private String pass = "PWD";
private String server = "localhost";

我有同样的概率但是有这个消息 信息 [http-nio-8181-exec-579]org.apache.catalina.core.ApplicationContext.log HTMLManager:列表:列出虚拟主机“localhost”的上下文

感谢任何帮助。

最佳答案

在我看来你的 ServletContextListener Tomcat 未选择实现。

如果你想要你的 ServletContextListener要由您的 Web 应用程序容器获取实现,您需要执行以下两项操作之一:

  • 添加 @WebListener 类的注释。
  • 将以下元素添加到您的 web.xml 文件中。此元素应该是根 <web-app> 的子元素元素。

    <listener>
    <listener-class>servlets.MyContextListener</listener-class>
    </listener>

关于jsp - Web 应用程序停止时无法注销 JDBC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32553267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com