Spring web.xml 由于 <listener> 无法加载

标签 spring tomcat web.xml

当我输入这些行时:

  <listener>
    <listener-class>
      org.springframework.web.context.ContextLoaderListener
    </listener-class>
  </listener>

我的应用程序根本无法加载。当我去 http://localhost:8080/app它没有加载。但是,当我删除这些行时,它会正确加载。我已经将包含 org.springframework.web.context.ContextLoaderListener 的必要库放在 ./app/WEB-INF/lib 中。

我的设置是 Tomcat 5.5。上下文参数已设置:

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:./springContext.xml</param-value>
  </context-param>

没有显示堆栈跟踪。错误信息是:

03-Nov-2010 10:21:48  INFO HostConfig:863 - Deploying web application archive
wma.war
03-Nov-2010 10:21:49 ERROR StandardContext:4253 - Error listenerStart
03-Nov-2010 10:21:49 ERROR StandardContext:4280 - Context [/wma] startup failed
due to previous errors

谢谢

最佳答案

您的 contextConfigLocation 设置为一个非常特殊的值,classpath:./springContext.xml。很清楚那是什么意思。您是否在类路径的根目录中寻找 springContext.xml 文件?如果是这样,那么您应该使用 classpath:springContext.xml`,因为类路径资源引用总是相对于类路径的根。

如果失败了,再看看Tomcat的DEBUG级别的日志,Spring在DEBUG级别的启动过程中相当冗长,它应该会告诉你哪里出了问题。奇怪的是它没有抛出异常,不过我通常希望它抛出异常。

关于Spring web.xml 由于 <listener> 无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4075580/

相关文章:

tomcat - 运行多个 tomcat 服务器

Java JSTL 错误 java.lang.NoClassDefFoundError : javax/servlet/jsp/jSTL/core/LoopTag

java - maven web.xml 元素类型 "web-app"必须由匹配的结束标记 "</web- app>"终止

jakarta-ee - 如何将 .properties 文件中的值包含到 web.xml 中?

java - 在哪里可以找到异常列表以及异常发生的时间

java - EhCache Spring XML 集成命名空间

Apache : Apache not respecting ErrorDocument directive, 仍然获得默认的 503 错误页面

servlets - web.xml 中的 <error-page> 标签没有捕获 java.lang.Throwable 异常

java - Spring MVC Flash 属性

java - 在 docker 容器中部署简单的独立 spring mvc 应用程序