ServletContextListener的用法(转)(2008-04-18 14:15:23)

本文详细介绍了ServletContextListener的使用方法,包括如何通过实现contextInitialized()和contextDestroyed()方法监听Web应用的启动和关闭过程。此外,还提供了一个利用ServletContextListener进行在线用户超时检查的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ServletContextListener的用法(转)

(2008-04-18 14:15:23)
 

这个J2EE小提示阐述了ServletContextListener的用法。这个事件类作为Web应用服务的一部分,处理Web应用的 servlet上下文(context)的变化的通知。这可以解释为,好像有个人在服务器旁不断地通知我们服务器在发生什么事件。那当然需要监听者了。因此,在通知上下文(context)初始化和销毁的时候,ServletContextListner非常有用。

import javax.servlet.ServletContextListener;

import javax.servlet.ServletContextEvent;
import javax.servlet.*;
public class MyListener implements ServletContextListener {
private ServletContext context = null;

 public void contextDestroyed(ServletContextEvent event){
  //Output a simple message to the server's console
  System.out.println("The Simple Web App. Has Been Removed");
  this.context = null;
}
 // 这个方法在Web应用服务做好接受请求的时候被调用。
public void contextInitialized(ServletContextEvent event){
  this.context = event.getServletContext();
  //Output a simple message to the server's console
  System.out.println("The Simple Web App. Is Ready");
}

}


<web-app>
<listener>
  <listener-class>
   com.listeners.MyContextListener
  </listener-class>
</listener>
<servlet/>
<servlet-mapping/>

</web-app> 

ServletContextListener接口有两方需要实现的方法:
contextInitialized()contextDestroyed();
Listener,译为监听者.顾名思义,它会监听Servlet容器,当应用开始的时候它会调用contextInitialized()方法;
当应用关闭的时候,它同样会调用contextDestroyed()方法.
我们可以利用这个特性初始化一些信息,当然我们也可以利用Servlet类init()方法,并在配置文件中让它启动应用的时候
就执行,并且在关闭的时候执行destroy()方法.但是继承此接口应该更符合容器的应用.
举个简单的例子:在一些论坛,社区及聊天室当中,删除在线的超时用户就可以利用这个接口来实现.
可以利用JAVA的TimerTask及Timer类来实现每隔一定的时间进行自动检测.
实例代码如下:
UserOnlineTimerTask.java
-----------------
package com.bcxy.servlet;
import java.util.TimerTask;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class UserOnlineTimerTask extends TimerTask {
Log log = LogFactory.getLog(UserOnlineTimerTask.class);
public void run() {
// 删除超时在线用户
log.info("删除在线的超时用户....");
}

}
------------------------------------
------------------------------------
SysListener.java
-----------------------------------
package com.bcxy.servlet;
import java.io.IOException;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class SysListener
extends HttpServlet
implements ServletContextListener {
Log log = LogFactory.getLog(SysListener.class);
Timer timer = new Timer();
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
//

}
public void contextInitialized(ServletContextEvent sce) {
log.info("initial context....");
timer.schedule(new UserOnlineTimerTask(), 0, 10000);

}
public void contextDestroyed(ServletContextEvent sce) {
log.info("destory context....");
timer.cancel();
}

}
--------------------------------
如果你没有使用log4j的话,你可以把log.info()改为System.out.println()会得到同样的结果.

------------------------ catalina.2025-06-26.log ------------------------ 26-Jun-2025 11:48:04.128 信息 [Thread-4] org.apache.coyote.AbstractProtocol.pause 暂停ProtocolHandler["http-nio-8080"] 26-Jun-2025 11:48:04.184 信息 [Thread-4] org.apache.catalina.core.StandardService.stopInternal 正在停止服务[Catalina] 26-Jun-2025 11:48:04.246 信息 [Thread-4] org.apache.coyote.AbstractProtocol.stop 正在停止ProtocolHandler ["http-nio-8080"] 26-Jun-2025 11:48:04.251 信息 [Thread-4] org.apache.coyote.AbstractProtocol.destroy 正在摧毁协议处理器 ["http-nio-8080"] 26-Jun-2025 11:48:04.268 警告 [Thread-4] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [KuCun2] 注册了JDBC驱动程序 [com.mysql.cj.jdbc.Driver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。 26-Jun-2025 11:48:04.276 警告 [Thread-4] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Web应用程序[KuCun2]似乎启动了一个名为[mysql-cj-abandoned-connection-cleanup]的线程,但未能停止它。这很可能会造成内存泄漏。线程的堆栈跟踪:[ java.base@11/java.lang.Object.wait(Native Method) java.base@11/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:91) java.base@11/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base@11/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@11/java.lang.Thread.run(Thread.java:834)] 26-Jun-2025 11:48:55.666 警告 [main] org.apache.catalina.core.AprLifecycleListener.init 基于APR的本地库加载失败.错误报告为[D:\apache-tomcat-9.0.37\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform] java.lang.UnsatisfiedLinkError: D:\apache-tomcat-9.0.37\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method) at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430) at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487) at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684) at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2617) at java.base/java.lang.Runtime.load0(Runtime.java:767) at java.base/java.lang.System.load(System.java:1831) at org.apache.tomcat.jni.Library.<init>(Library.java:42) at org.apache.tomcat.jni.Library.initialize(Library.java:206) at org.apache.catalina.core.AprLifecycleListener.init(AprLifecycleListener.java:198) at org.apache.catalina.core.AprLifecycleListener.isAprAvailable(AprLifecycleListener.java:107) at org.apache.catalina.connector.Connector.<init>(Connector.java:83) at org.apache.catalina.startup.ConnectorCreateRule.begin(ConnectorCreateRule.java:67) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1259) at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510) at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1377) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2708) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216) at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1517) at org.apache.catalina.startup.Catalina.parseServerXml(Catalina.java:584) at org.apache.catalina.startup.Catalina.load(Catalina.java:675) at org.apache.catalina.startup.Catalina.load(Catalina.java:712) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:302) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:472) 26-Jun-2025 11:48:55.837 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.37 26-Jun-2025 11:48:55.839 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Jun 30 2020 20:09:49 UTC 26-Jun-2025 11:48:55.841 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号(: 9.0.37.0 26-Jun-2025 11:48:55.844 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 7 26-Jun-2025 11:48:55.846 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 6.1 26-Jun-2025 11:48:55.847 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 26-Jun-2025 11:48:55.850 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: D:\jdk11_jb51 26-Jun-2025 11:48:55.852 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 11+28 26-Jun-2025 11:48:55.854 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 26-Jun-2025 11:48:55.856 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: D:\apache-tomcat-9.0.37 26-Jun-2025 11:48:55.858 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D:\apache-tomcat-9.0.37 26-Jun-2025 11:48:55.861 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:--add-opens=java.base/java.lang=ALL-UNNAMED 26-Jun-2025 11:48:55.864 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:--add-opens=java.base/java.io=ALL-UNNAMED 26-Jun-2025 11:48:55.867 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 26-Jun-2025 11:48:55.870 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.util.logging.config.file=D:\apache-tomcat-9.0.37\conf\logging.properties 26-Jun-2025 11:48:55.872 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 26-Jun-2025 11:48:55.874 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djdk.tls.ephemeralDHKeySize=2048 26-Jun-2025 11:48:55.876 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.protocol.handler.pkgs=org.apache.catalina.webresources 26-Jun-2025 11:48:55.879 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dignore.endorsed.dirs= 26-Jun-2025 11:48:55.881 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcatalina.base=D:\apache-tomcat-9.0.37 26-Jun-2025 11:48:55.883 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcatalina.home=D:\apache-tomcat-9.0.37 26-Jun-2025 11:48:55.885 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.io.tmpdir=D:\apache-tomcat-9.0.37\temp 26-Jun-2025 11:48:56.667 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"] 26-Jun-2025 11:48:56.844 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[1446]毫秒内初始化 26-Jun-2025 11:48:56.971 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina] 26-Jun-2025 11:48:56.973 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/9.0.37] 26-Jun-2025 11:48:57.006 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR 正在部署web应用程序存档文件[D:\apache-tomcat-9.0.37\webapps\KuCun2.war] 26-Jun-2025 11:49:01.871 信息 [main] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 26-Jun-2025 11:49:18.187 信息 [main] org.apache.catalina.startup.HostConfig.deployWAR web应用程序存档文件[D:\apache-tomcat-9.0.37\webapps\KuCun2.war]的部署已在[21,180]ms内完成 26-Jun-2025 11:49:18.190 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\apache-tomcat-9.0.37\webapps\docs] 26-Jun-2025 11:49:18.245 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\apache-tomcat-9.0.37\webapps\docs]的部署已在[56]毫秒内完成 26-Jun-2025 11:49:18.247 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\apache-tomcat-9.0.37\webapps\examples] 26-Jun-2025 11:49:18.654 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\apache-tomcat-9.0.37\webapps\examples]的部署已在[407]毫秒内完成 26-Jun-2025 11:49:18.658 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\apache-tomcat-9.0.37\webapps\host-manager] 26-Jun-2025 11:49:18.703 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\apache-tomcat-9.0.37\webapps\host-manager]的部署已在[45]毫秒内完成 26-Jun-2025 11:49:18.709 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\apache-tomcat-9.0.37\webapps\manager] 26-Jun-2025 11:49:18.758 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\apache-tomcat-9.0.37\webapps\manager]的部署已在[50]毫秒内完成 26-Jun-2025 11:49:18.764 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\apache-tomcat-9.0.37\webapps\ROOT] 26-Jun-2025 11:49:18.810 信息 [main] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\apache-tomcat-9.0.37\webapps\ROOT]的部署已在[47]毫秒内完成 26-Jun-2025 11:49:18.820 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"] 26-Jun-2025 11:49:18.845 信息 [main] org.apache.catalina.startup.Catalina.start [22000]毫秒后服务器启动 26-Jun-2025 11:49:56.871 信息 [Thread-4] org.apache.coyote.AbstractProtocol.pause 暂停ProtocolHandler["http-nio-8080"] 26-Jun-2025 11:49:56.912 信息 [Thread-4] org.apache.catalina.core.StandardService.stopInternal 正在停止服务[Catalina] 26-Jun-2025 11:49:57.187 警告 [Thread-4] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Web应用程序[KuCun2]似乎启动了一个名为[mysql-cj-abandoned-connection-cleanup]的线程,但未能停止它。这很可能会造成内存泄漏。线程的堆栈跟踪:[ java.base@11/java.lang.Object.wait(Native Method) java.base@11/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:91) java.base@11/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base@11/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@11/java.lang.Thread.run(Thread.java:834)] 26-Jun-2025 11:49:57.214 信息 [Thread-4] org.apache.coyote.AbstractProtocol.stop 正在停止ProtocolHandler ["http-nio-8080"] 26-Jun-2025 11:49:57.223 信息 [Thread-4] org.apache.coyote.AbstractProtocol.destroy 正在摧毁协议处理器 ["http-nio-8080"] ------------------------ host-manager.2025-06-26.log ------------------------ ------------------------ localhost.2025-06-26.log ------------------------ 26-Jun-2025 11:48:04.218 信息 [Thread-4] org.apache.catalina.core.ApplicationContext.log SessionListener: contextDestroyed() 26-Jun-2025 11:48:04.218 信息 [Thread-4] org.apache.catalina.core.ApplicationContext.log ContextListener: contextDestroyed() 26-Jun-2025 11:49:02.103 信息 [main] org.apache.catalina.core.ApplicationContext.log 2 Spring WebApplicationInitializers detected on classpath 26-Jun-2025 11:49:07.916 信息 [main] org.apache.catalina.core.ApplicationContext.log Initializing Spring embedded WebApplicationContext 26-Jun-2025 11:49:18.643 信息 [main] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized() 26-Jun-2025 11:49:18.644 信息 [main] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized() 26-Jun-2025 11:49:18.646 信息 [main] org.apache.catalina.core.ApplicationContext.log ContextListener: attributeAdded('StockTicker', 'async.Stockticker@13bf8a36') 26-Jun-2025 11:49:56.945 信息 [Thread-4] org.apache.catalina.core.ApplicationContext.log SessionListener: contextDestroyed() 26-Jun-2025 11:49:56.945 信息 [Thread-4] org.apache.catalina.core.ApplicationContext.log ContextListener: contextDestroyed() 26-Jun-2025 11:49:56.970 信息 [Thread-4] org.apache.catalina.core.ApplicationContext.log Closing Spring root WebApplicationContext ------------------------ localhost_access_log.2025-06-26.txt ------------------------ ------------------------ manager.2025-06-26.log ------------------------
最新发布
06-27
F:\idea_java\apache-tomcat-10.1.42-windows-x64\apache-tomcat-10.1.42\bin\catalina.bat run [2025-06-17 12:51:53,585] Artifact Shopping-Web:war exploded: Waiting for server connection to start artifact deployment... Using CATALINA_BASE: "C:\Users\sunny\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\82d452a7-88a2-4557-a7c9-f7ed9538c91b" Using CATALINA_HOME: "F:\idea_java\apache-tomcat-10.1.42-windows-x64\apache-tomcat-10.1.42" Using CATALINA_TMPDIR: "F:\idea_java\apache-tomcat-10.1.42-windows-x64\apache-tomcat-10.1.42\temp" Using JRE_HOME: "F:\jdk-17.0.15_windows-x64_bin\jdk-17.0.15" Using CLASSPATH: "F:\idea_java\apache-tomcat-10.1.42-windows-x64\apache-tomcat-10.1.42\bin\bootstrap.jar;F:\idea_java\apache-tomcat-10.1.42-windows-x64\apache-tomcat-10.1.42\bin\tomcat-juli.jar" Using CATALINA_OPTS: "" 17-Jun-2025 12:51:54.421 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/10.1.42 17-Jun-2025 12:51:54.421 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Jun 5 2025 22:35:46 UTC 17-Jun-2025 12:51:54.421 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 10.1.42.0 17-Jun-2025 12:51:54.421 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 11 17-Jun-2025 12:51:54.421 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 17-Jun-2025 12:51:54.421 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 17-Jun-2025 12:51:54.421 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: F:\jdk-17.0.15_windows-x64_bin\jdk-17.0.15 17-Jun-2025 12:51:54.421 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 17.0.15+9-LTS-241 17-Jun-2025 12:51:54.421 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 17-Jun-2025 12:51:54.421 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\sunny\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\82d452a7-88a2-4557-a7c9-f7ed9538c91b 17-Jun-2025 12:51:54.421 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: F:\idea_java\apache-tomcat-10.1.42-windows-x64\apache-tomcat-10.1.42 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.config.file=C:\Users\sunny\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\82d452a7-88a2-4557-a7c9-f7ed9538c91b\conf\logging.properties 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote= 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.port=1099 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.ssl=false 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.password.file=C:\Users\sunny\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\82d452a7-88a2-4557-a7c9-f7ed9538c91b\jmxremote.password 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcom.sun.management.jmxremote.access.file=C:\Users\sunny\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\82d452a7-88a2-4557-a7c9-f7ed9538c91b\jmxremote.access 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.rmi.server.hostname=127.0.0.1 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djdk.tls.ephemeralDHKeySize=2048 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dsun.io.useCanonCaches=false 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang=ALL-UNNAMED 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.io=ALL-UNNAMED 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util=ALL-UNNAMED 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.base=C:\Users\sunny\AppData\Local\JetBrains\IntelliJIdea2021.2\tomcat\82d452a7-88a2-4557-a7c9-f7ed9538c91b 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Dcatalina.home=F:\idea_java\apache-tomcat-10.1.42-windows-x64\apache-tomcat-10.1.42 17-Jun-2025 12:51:54.434 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数: -Djava.io.tmpdir=F:\idea_java\apache-tomcat-10.1.42-windows-x64\apache-tomcat-10.1.42\temp 17-Jun-2025 12:51:54.443 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本[1.7.6]加载了基于APR的Apache Tomcat本机库[2.0.9]。 17-Jun-2025 12:51:54.443 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 [OpenSSL 3.5.0 8 Apr 2025] 17-Jun-2025 12:51:54.551 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"] 17-Jun-2025 12:51:54.572 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[311]毫秒内初始化 17-Jun-2025 12:51:54.626 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina] 17-Jun-2025 12:51:54.626 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/10.1.42] 17-Jun-2025 12:51:54.651 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"] 17-Jun-2025 12:51:54.701 信息 [main] org.apache.catalina.startup.Catalina.start [126]毫秒后服务器启动 Connected to server [2025-06-17 12:51:54,777] Artifact Shopping-Web:war exploded: Artifact is being deployed, please wait... 17-Jun-2025 12:51:55.805 详细 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanResourcePaths 在资源路径[/WEB-INF/]中找不到TLD文件。 17-Jun-2025 12:51:55.824 详细 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan 在[file:/F:/Shopping-Web/Shopping-Web/target/ShoppingWeb-1.0-SNAPSHOT/WEB-INF/lib/spring-beans-5.3.30.jar]中找不到TLD文件。考虑将JAR添加到CATALINA_BASE/conf/CATALINA.properties文件中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip属性。 17-Jun-2025 12:51:55.824 详细 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan 在[file:/F:/Shopping-Web/Shopping-Web/target/ShoppingWeb-1.0-SNAPSHOT/WEB-INF/lib/spring-jcl-5.3.30.jar]中找不到TLD文件。考虑将JAR添加到CATALINA_BASE/conf/CATALINA.properties文件中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip属性。 17-Jun-2025 12:51:55.824 详细 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan 在[file:/F:/Shopping-Web/Shopping-Web/target/ShoppingWeb-1.0-SNAPSHOT/WEB-INF/lib/mysql-connector-java-8.0.30.jar]中找不到TLD文件。考虑将JAR添加到CATALINA_BASE/conf/CATALINA.properties文件中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip属性。 17-Jun-2025 12:51:55.824 详细 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan 在[file:/F:/Shopping-Web/Shopping-Web/target/ShoppingWeb-1.0-SNAPSHOT/WEB-INF/lib/spring-expression-5.3.30.jar]中找不到TLD文件。考虑将JAR添加到CATALINA_BASE/conf/CATALINA.properties文件中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip属性。 17-Jun-2025 12:51:55.824 详细 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan 在[file:/F:/Shopping-Web/Shopping-Web/target/ShoppingWeb-1.0-SNAPSHOT/WEB-INF/lib/spring-core-5.3.30.jar]中找不到TLD文件。考虑将JAR添加到CATALINA_BASE/conf/CATALINA.properties文件中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip属性。 17-Jun-2025 12:51:55.859 详细 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan 在JAR[file:/F:/Shopping-Web/Shopping-Web/target/ShoppingWeb-1.0-SNAPSHOT/WEB-INF/lib/jstl-1.2.jar]中找到了TLD文件。 17-Jun-2025 12:51:55.859 详细 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan 在[file:/F:/Shopping-Web/Shopping-Web/target/ShoppingWeb-1.0-SNAPSHOT/WEB-INF/lib/spring-context-5.3.30.jar]中找不到TLD文件。考虑将JAR添加到CATALINA_BASE/conf/CATALINA.properties文件中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip属性。 17-Jun-2025 12:51:55.867 详细 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan 在[file:/F:/Shopping-Web/Shopping-Web/target/ShoppingWeb-1.0-SNAPSHOT/WEB-INF/lib/protobuf-java-3.19.4.jar]中找不到TLD文件。考虑将JAR添加到CATALINA_BASE/conf/CATALINA.properties文件中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip属性。 17-Jun-2025 12:51:55.867 详细 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan 在[file:/F:/Shopping-Web/Shopping-Web/target/ShoppingWeb-1.0-SNAPSHOT/WEB-INF/lib/spring-aop-5.3.30.jar]中找不到TLD文件。考虑将JAR添加到CATALINA_BASE/conf/CATALINA.properties文件中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip属性。 17-Jun-2025 12:51:55.867 信息 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars 至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间。 17-Jun-2025 12:51:55.952 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到 17-Jun-2025 12:51:55.952 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[/Shopping_Web_war_exploded]启动失败 [2025-06-17 12:51:55,962] Artifact Shopping-Web:war exploded: Error during artifact deployment. See server log for details. 17-Jun-2025 12:52:04.663 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [F:\idea_java\apache-tomcat-10.1.42-windows-x64\apache-tomcat-10.1.42\webapps\manager] 17-Jun-2025 12:52:04.715 详细 [Catalina-utility-2] org.apache.jasper.servlet.TldScanner.scanResourcePaths 在资源路径[/WEB-INF/jsp/]中找不到TLD文件。 17-Jun-2025 12:52:04.717 详细 [Catalina-utility-2] org.apache.jasper.servlet.TldScanner.scanResourcePaths 在资源路径[/WEB-INF/]中找不到TLD文件。 17-Jun-2025 12:52:04.724 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[F:\idea_java\apache-tomcat-10.1.42-windows-x64\apache-tomcat-10.1.42\webapps\manager]的部署已在[61]毫秒内完成
06-19
Jun-2025 11:48:04.128 信息 [Thread-4] org.apache.coyote.AbstractProtocol.pause 暂停ProtocolHandler["http-nio-8080"] 26-Jun-2025 11:48:04.184 信息 [Thread-4] org.apache.catalina.core.StandardService.stopInternal 正在停止服务[Catalina] 26-Jun-2025 11:48:04.246 信息 [Thread-4] org.apache.coyote.AbstractProtocol.stop 正在停止ProtocolHandler ["http-nio-8080"] 26-Jun-2025 11:48:04.251 信息 [Thread-4] org.apache.coyote.AbstractProtocol.destroy 正在摧毁协议处理器 ["http-nio-8080"] 26-Jun-2025 11:48:04.268 警告 [Thread-4] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [KuCun2] 注册了JDBC驱动程序 [com.mysql.cj.jdbc.Driver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。 26-Jun-2025 11:48:04.276 警告 [Thread-4] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Web应用程序[KuCun2]似乎启动了一个名为[mysql-cj-abandoned-connection-cleanup]的线程,但未能停止它。这很可能会造成内存泄漏。线程的堆栈跟踪:[ java.base@11/java.lang.Object.wait(Native Method) java.base@11/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155) com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:91) java.base@11/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base@11/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base@11/java.lang.Thread.run(Thread.java:834)]
06-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值