[首先,我在一个项目中创建了一个javeEE模块,然后我可以正常启动服务器,我照常编写了代码,过了一会儿,当我再次启动tomcat服务器时,我得到了一些错误信息。
我正在网上搜索很长时间。但是没用。请帮助或尝试提供一些实现此目标的方法。非常感谢!!!
我在出现问题之前编写的代码。
File1:此文件用于测试getContextPath()方法。
//file1
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/responseDemo1")
public class ResponseDemo1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("demo1...");
String contextPath = request.getContextPath();
response.sendRedirect(contextPath+"/responseDemo2");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
File2:
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/responseDemo2")
public class ResponseDemo2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("responsedemo2...");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
这是有效的服务器启动日志。
D:\xxx\xxx\apache-tomcat-9.0.35-windows-x64\apache-tomcat-9.0.35\bin\catalina.bat run
[2020-05-22 01:12:04,081] Artifact day15_response:war exploded: Waiting for server connection to start artifact deployment...
Using CATALINA_BASE: "C:\Users\xxx\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\_JavaWeb"
Using CATALINA_HOME: "D:\xxx\xxx\apache-tomcat-9.0.35-windows-x64\apache-tomcat-9.0.35"
Using CATALINA_TMPDIR: "D:\xxx\xxx\apache-tomcat-9.0.35-windows-x64\apache-tomcat-9.0.35\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk-11.0.6"
Using CLASSPATH: "D:\xxx\xxx\apache-tomcat-9.0.35-windows-x64\apache-tomcat-9.0.35\bin\bootstrap.jar;D:\xxx\xxx\apache-tomcat-9.0.35-windows-x64\apache-tomcat-9.0.35\bin\tomcat-juli.jar"
22-May-2020 13:12:06.223 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.35
22-May-2020 13:12:06.229 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: May 5 2020 20:36:20 UTC
22-May-2020 13:12:06.229 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号(: 9.0.35.0
22-May-2020 13:12:06.229 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 10
22-May-2020 13:12:06.230 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0
22-May-2020 13:12:06.230 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64
22-May-2020 13:12:06.230 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: C:\Program Files\Java\jdk-11.0.6
22-May-2020 13:12:06.230 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 11.0.6+8-LTS
22-May-2020 13:12:06.230 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation
22-May-2020 13:12:06.230 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\xxx\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\_JavaWeb
22-May-2020 13:12:06.231 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D:\xxx\xxx\apache-tomcat-9.0.35-windows-x64\apache-tomcat-9.0.35
22-May-2020 13:12:06.233 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:--add-opens=java.base/java.lang=ALL-UNNAMED
22-May-2020 13:12:06.233 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:--add-opens=java.base/java.io=ALL-UNNAMED
22-May-2020 13:12:06.233 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
22-May-2020 13:12:06.234 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.util.logging.config.file=C:\Users\xxx\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\_JavaWeb\conf\logging.properties
22-May-2020 13:12:06.234 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
22-May-2020 13:12:06.234 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcom.sun.management.jmxremote=
22-May-2020 13:12:06.235 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcom.sun.management.jmxremote.port=10991
22-May-2020 13:12:06.235 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcom.sun.management.jmxremote.ssl=false
22-May-2020 13:12:06.235 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcom.sun.management.jmxremote.password.file=C:\Users\xxx\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\_JavaWeb\jmxremote.password
22-May-2020 13:12:06.235 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcom.sun.management.jmxremote.access.file=C:\Users\xxx\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\_JavaWeb\jmxremote.access
22-May-2020 13:12:06.235 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.rmi.server.hostname=127.0.0.1
22-May-2020 13:12:06.235 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djdk.tls.ephemeralDHKeySize=2048
22-May-2020 13:12:06.235 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.protocol.handler.pkgs=org.apache.catalina.webresources
22-May-2020 13:12:06.237 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dignore.endorsed.dirs=
22-May-2020 13:12:06.237 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcatalina.base=C:\Users\xxx\AppData\Local\JetBrains\IntelliJIdea2020.1\tomcat\_JavaWeb
22-May-2020 13:12:06.238 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Dcatalina.home=D:\xxx\xxx\apache-tomcat-9.0.35-windows-x64\apache-tomcat-9.0.35
22-May-2020 13:12:14.513 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 命令行参数:-Djava.io.tmpdir=D:\xxx\xxx\apache-tomcat-9.0.35-windows-x64\apache-tomcat-9.0.35\temp
22-May-2020 13:12:14.517 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent 使用APR版本[1.7.0]加载了基于APR的Apache Tomcat本机库[1.2.24]。
22-May-2020 13:12:14.518 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR功能:IPv6[true]、sendfile[true]、accept filters[false]、random[true]。
22-May-2020 13:12:14.518 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL配置:useAprConnector[false],useOpenSSL[true]
22-May-2020 13:12:14.640 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL成功初始化 [OpenSSL 1.1.1g 21 Apr 2020]
22-May-2020 13:12:15.119 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器 ["http-nio-8080"]
22-May-2020 13:12:15.186 信息 [main] org.apache.catalina.startup.Catalina.load 服务器在[9,493]毫秒内初始化
22-May-2020 13:12:15.311 信息 [main] org.apache.catalina.core.StandardService.startInternal 正在启动服务[Catalina]
22-May-2020 13:12:15.311 信息 [main] org.apache.catalina.core.StandardEngine.startInternal 正在启动 Servlet 引擎:[Apache Tomcat/9.0.35]
22-May-2020 13:12:15.338 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"]
22-May-2020 13:12:15.361 信息 [main] org.apache.catalina.startup.Catalina.start [174]毫秒后服务器启动
Connected to server
[2020-05-22 01:12:15,806] Artifact day15_response:war exploded: Artifact is being deployed, please wait...
22-May-2020 13:12:16.469 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[manageApp]时发生异常
java.lang.IllegalStateException: 启动子级时出错
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1727)
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.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288)
at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809)
at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:456)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:405)
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.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288)
at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809)
at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at java.management/com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466)
at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1406)
at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:827)
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 java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/day15]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
... 42 more
Caused by: java.lang.IllegalArgumentException: servlet映射中的<url pattern>[response/Demo4]无效
at org.apache.catalina.core.StandardContext.addServletMappingDecoded(StandardContext.java:3183)
at org.apache.catalina.Context.addServletMappingDecoded(Context.java:881)
at org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1394)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1168)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:774)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:301)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5052)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
... 43 more
22-May-2020 13:12:16.478 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[createStandardContext]时发生异常
javax.management.RuntimeOperationsException: 调用方法[manageApp]时发生异常
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809)
at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:456)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:405)
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.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288)
at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809)
at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at java.management/com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466)
at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1406)
at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:827)
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 java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalStateException: 启动子级时出错
[2020-05-22 01:12:16,519] Artifact day15_response:war exploded: Error during artifact deployment. See server log for details.
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1727)
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.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:288)
... 34 more
Caused by: org.apache.catalina.LifecycleException: 无法启动组件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/day15]]
at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
... 42 more
Caused by: java.lang.IllegalArgumentException: servlet映射中的<url pattern>[response/Demo4]无效
at org.apache.catalina.core.StandardContext.addServletMappingDecoded(StandardContext.java:3183)
at org.apache.catalina.Context.addServletMappingDecoded(Context.java:881)
at org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1394)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1168)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:774)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:301)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5052)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
... 43 more
22-May-2020 13:12:25.376 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录 [D:\xxx\xxx\apache-tomcat-9.0.35-windows-x64\apache-tomcat-9.0.35\webapps\manager]
22-May-2020 13:12:26.418 警告 [Catalina-utility-2] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom 使用[SHA1PRNG]创建会话ID生成的SecureRandom实例花费了[511]毫秒。
22-May-2020 13:12:26.520 信息 [Catalina-utility-2] org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录[D:\xxx\xxx\apache-tomcat-9.0.35-windows-x64\apache-tomcat-9.0.35\webapps\manager]的部署已在[1,144]毫秒内完成
可能有多个原因导致此错误。要进行进一步分析,请共享整个stacktrace。您在工件部署期间看到此错误的某些原因可能是因为: