gpt4 book ai didi

spring-mvc - Tomcat7 部署失败 : org. apache.catalina.LifecycleException : Failed to start component/w org. springframework.web.servlet.DispatcherServlet

转载 作者:行者123 更新时间:2023-12-03 12:58:27 28 4
gpt4 key购买 nike

我有一个非常示例的 web.xml 写在下面:

问题是...如果我删除 org.springframework.web.servlet.DispatcherServlet 部分,我可以成功 在 Tomcat7 中部署我的项目作为一个简单的 JSP-Servlet 应用程序。但是,一旦我使用 Spring MVC,我的部署就会失败 - 遇到异常 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WebMVCProj2]]

我该如何解决这个错误?

    <?xml version="1.0" encoding="UTF-8"?>

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID"版本="3.0">
Spring Web MVC 应用程序
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>

<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>

<!-- I can remove the part below to make deployment successful -->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>

我从 Enterprise Bundle Repository (EBR) 添加 Spring MVC 依赖项。我还使用了 Tomcat7 应该支持的 Eclipse Dynamic Web Module 3.0。我的 jre 是 Tomcat 和我的项目使用的 1.6.x 64 位。我还在 Eclipse 中使用了 Web 部署程序集。

这是我的完整异常(exception):

严重:部署 Web 应用程序存档 E:\MyServers\apache-tomcat-7.0.30\webapps\WebMVCProj2.war 时出错
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: 无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/WebMVCProj2]]
在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:904)
在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
在 org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
在 org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
在 java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
在 java.util.concurrent.FutureTask.run(FutureTask.java:138)
在 java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
在 java.lang.Thread.run(Thread.java:662)

最佳答案

您应该在 web-inf 文件夹中有 applicationContext.xml 或者您必须在 web.xml 中定义 contextConfigLocation

<!-- Spring Context -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/application-contexts/*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

如果您可以发布异常跟踪,那会更有帮助。

关于spring-mvc - Tomcat7 部署失败 : org. apache.catalina.LifecycleException : Failed to start component/w org. springframework.web.servlet.DispatcherServlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12633964/

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