当前位置: 首页 > 知识库问答 >
问题:

无法让Spring 2.5与Tomcat 5一起工作

巫马修然
2023-03-14

我正在编写一个Web项目,它使用了Apache Tomcat 5.0和JDK 1.4.2之上的Spring框架2.5。

当Tomcat启动时,它从未加载Spring。

Web.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>TestSpring25Web</display-name>
<listener>
    <description>
  loads the spring application context on startup
</description>
    <display-name>spring application context loader listener</display-name>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/web-applicationContext.xml</param-value>
</context-param>
<context-param>
    <param-name>locatorFactorySelector</param-name>
    <param-value>
  classpath:Spring-config.xml
</param-value>
</context-param>
<context-param>
    <param-name>parentContextKey</param-name>
    <param-value>businessBeanFactory</param-value>
</context-param>
<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>
<resource-ref>
    <description>DB Connection</description>
    <res-ref-name>jdbc/TestDB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>
<servlet>
    <description></description>
    <display-name>QueryDS</display-name>
    <servlet-name>QueryDS</servlet-name>
    <servlet-class>servlet.QueryDS</servlet-class>
</servlet>
<!-- DWR -->
<servlet>
    <display-name>DWR Servlet</display-name>
    <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>true</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>QueryDS</servlet-name>
    <url-pattern>/QueryDS</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>

"web-Application ationContext.xml"就像:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">

</beans>

控制台提供了以下日志堆栈跟踪:

严重:配置类org的应用程序侦听器时出错。springframework。网状物上下文ContextLoaderListenerJava。lang.ClassNotFoundException:org。springframework。网状物上下文组织的ContextLoaderListener。阿帕奇。卡塔琳娜。加载器。WebappClassLoader。org上的loadClass(WebappClassLoader.java:1680)。阿帕奇。卡塔琳娜。加载器。WebappClassLoader。位于org的loadClass(WebappClassLoader.java:1526)。阿帕奇。卡塔琳娜。果心标准上下文。listenerStart(StandardContext.java:4149)位于org。阿帕奇。卡塔琳娜。果心标准上下文。在org上启动(StandardContext.java:4705)。阿帕奇。卡塔琳娜。果心集装箱基地。在org上启动(ContainerBase.java:1057)。阿帕奇。卡塔琳娜。果心标准主机。在org上启动(StandardHost.java:840)。阿帕奇。卡塔琳娜。果心集装箱基地。在org上启动(ContainerBase.java:1057)。阿帕奇。卡塔琳娜。果心标准引擎。在org上启动(StandardEngine.java:463)。阿帕奇。卡塔琳娜。果心标准服务。在org上启动(StandardService.java:525)。阿帕奇。卡塔琳娜。果心标准服务器。在org上启动(StandardServer.java:754)。阿帕奇。卡塔琳娜。启动。卡塔琳娜。从sun开始(Catalina.java:595)。反映NativeMethodAccessorImpl。在sun上调用0(本机方法)。反映NativeMethodAccessorImpl。在sun上调用(NativeMethodAccessorImpl.java:39)。反映DelegatingMethodAccessorImpl。在java上调用(DelegatingMethodAccessorImpl.java:25)。朗。反思。方法在org调用(Method.java:597)。阿帕奇。卡塔琳娜。启动。独自创立在org上启动(Bootstrap.java:289)。阿帕奇。卡塔琳娜。启动。独自创立main(Bootstrap.java:414)25/06/2012 5:16:28 PM org。阿帕奇。卡塔琳娜。果心StandardContext listenerStart严重:由于以前的错误,已跳过安装应用程序侦听器。2012年6月25日下午5:16:28。阿帕奇。卡塔琳娜。果心StandardContext开始严重:错误listenerStart 2012年6月25日下午5:16:28组织。阿帕奇。卡塔琳娜。果心StandardContext启动严重:由于以前的错误,上下文[/TestSpring25Web]启动失败

有人能帮我想出一些主意吗?谢谢

干杯亚历克斯

共有2个答案

孔星宇
2023-03-14

你在用Maven吗?完全有可能不同的Spring人工制品之间存在版本不匹配,其中一个正在调用其他人工制品所依赖的旧依赖项。我以前在ClassNotFoundException中看到过这种情况。

  1. 确保你已经得到了类路径上应该有的所有依赖(可能是sping-web
  2. 确保没有依赖版本冲突
  3. 如果可能的话,认真考虑尝试使用所有东西的新版本!
严昊昊
2023-03-14

根据类路径中缺少SpringJAR的错误,最简单的解决方案是将SpringJAR(包含org.springframework.web.context.ContextLoaderListener类的那个)复制到tomcat下的lib文件夹中。

 类似资料:
  • 我正在做一个React AMP项目,我需要用AMP做一些调整动画来显示和隐藏窗口滚动时的按钮。 As AMP动画标记希望在

  • 因此,如果我不能重写字符串作为它的最终结果(因此阻止我重写它的compareTo()方法来调用compareToIgnoreCase()),那么还有其他方法可以实现吗? 任何帮助都是非常感谢的。

  • 我已经成功地在我的Windows机器上安装了gnuradio,并尝试将随附的python环境(Python 2.7)与PyCharm v2018集成。我创建了一个新项目,并为包添加了一个用户定义的路径,以指向所有gnuradio库的位置(C:\Program Files\GNURadio-3.7\lib\site-包)。 在Pycharm可以毫无怨言地看到所有gnuradio包的意义上,一切似乎都

  • 我已经成功地建立了TailwindCSS上Gridsome以下说明:https://gridsome.org/docs/assets-css/#tailwind 但是,这些说明并没有提到如何设置autoprefixer。因此,我自己尝试了一下,如下所示: npm安装自动刷新器 修改了文件(请参见下面的修改代码,其中包含我所更改内容的注释) 运行 将类添加到以查看是否添加了任何供应商前缀 结果。。。

  • 我试图在一个我的组件中使用Tesseract来执行文件上的ocr。 .ts: .html 我遵循了这个,但是这个错误显示了 我应该怎么做才能让这个工作成功?