求救!!!困扰了一个多星期的s2sh整合问题急求高手解决。

longlonglong25 2010-07-24 10:02:52
是关于spring整合hibernate的问题。测试类可以实现功能,但是在Action中访问就出现空指针问题。感觉就是sessionFactory没有注入到里边去。
下面是控制台报的错误

Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener


有Spring.jar包呢,怎么会有这样的错误。
测试类中是利用ClassPathXmlApplicationContext读取配置文件没有问题。
在web中是tomcat自己读取的配置文件,web.xml里面配置的listener也没问题。

太郁闷了!!!! 大虾们指点指点。。在线等!!!!!!
...全文
299 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuboyq01 2010-07-26
  • 打赏
  • 举报
回复
如果测试能通过,action报错的话,是不是你没有加这个包:
struts2-spring-plugin-2.1.8.1.jar
并且struts的xml文件中要申明:
<!-- 配置Spring与Struts2集成,action对象由Spring容器创建 -->
<constant name="struts.objectFactory" value="spring" />
longlonglong25 2010-07-26
  • 打赏
  • 举报
回复
没有一个很好的答案,不管怎么样谢谢各位了。结贴!!!
longlonglong25 2010-07-25
  • 打赏
  • 举报
回复
不是这个的问题。因为tomcat会读取配置文件。如果配置文件错了,tomcat 也会报错。
xianaofei 2010-07-25
  • 打赏
  • 举报
回复
也可能是架包冲突啊
longlonglong25 2010-07-25
  • 打赏
  • 举报
回复
有人用过CVS么?感觉程序在修改的时候经常出现错误。想回到错误之前很麻烦!!!!
longlonglong25 2010-07-25
  • 打赏
  • 举报
回复
[Quote=引用 35 楼 xianaofei 的回复:]
也可能是架包冲突啊
[/Quote]
很有可能。我测试测试
holly2k 2010-07-24
  • 打赏
  • 举报
回复
有包并不代表着有类啊,进包里看看是否真的有你配置的那个Listener类
longlonglong25 2010-07-24
  • 打赏
  • 举报
回复
楼上谢谢啦。睡吧你!我再研究研究。。
sun0322 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 lzw0286 的回复:]
引用 27 楼 sxzlc 的回复:
引用 25 楼 lzw0286 的回复:
之前的
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
错误应该解决了。
这是新的错误了。。。。


???????????

你是lz


看清楚哦。。。。
[/Quote]

太困了 ,我该睡觉了!
longlonglong25 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 lzw0286 的回复:]
看一下 这个吧:
http://blog.sina.com.cn/s/blog_4a9eb8290100al4b.html
[/Quote]
不是tomcat配置问题
lzw0286 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 sxzlc 的回复:]
引用 25 楼 lzw0286 的回复:
之前的
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
错误应该解决了。
这是新的错误了。。。。


???????????

你是lz
[/Quote]

看清楚哦。。。。
longlonglong25 2010-07-24
  • 打赏
  • 举报
回复
不是。之前的java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener 是tomcat报的错。
后来的那个是我redeploy项目报的错
sun0322 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 lzw0286 的回复:]
之前的
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
错误应该解决了。
这是新的错误了。。。。
[/Quote]

???????????

你是lz
lzw0286 2010-07-24
  • 打赏
  • 举报
回复
看一下 这个吧:
http://blog.sina.com.cn/s/blog_4a9eb8290100al4b.html
lzw0286 2010-07-24
  • 打赏
  • 举报
回复
之前的
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
错误应该解决了。
这是新的错误了。。。。

longlonglong25 2010-07-24
  • 打赏
  • 举报
回复
Illegal access: this web application instance has been stopped already.  Could not load java.net.BindException.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at com.mysql.jdbc.CommunicationsException.<init>(CommunicationsException.java:155)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2757)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)
at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1366)
at com.mysql.jdbc.Connection.realClose(Connection.java:4475)
at com.mysql.jdbc.Connection.cleanup(Connection.java:1975)
at com.mysql.jdbc.Connection.finalize(Connection.java:3124)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Unknown Source)
at java.lang.ref.Finalizer.access$100(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
2010-7-24 23:00:15 org.apache.catalina.loader.WebappClassLoader loadClass
信息: Illegal access: this web application instance has been stopped already. Could not load com.mysql.jdbc.Messages. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at com.mysql.jdbc.CommunicationsException.<init>(CommunicationsException.java:174)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2757)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2650)
at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1366)
at com.mysql.jdbc.Connection.realClose(Connection.java:4475)
at com.mysql.jdbc.Connection.cleanup(Connection.java:1975)
at com.mysql.jdbc.Connection.finalize(Connection.java:3124)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Unknown Source)
at java.lang.ref.Finalizer.access$100(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

空格我都删了。保存了一下。控制台报这个错误。
lzw0286 2010-07-24
  • 打赏
  • 举报
回复
<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>
去掉所有的空行,和空格。
些成一行试试。。
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

以前遇到过因为配置是从别的地方copy过来的,因为编码问题导致错误的情形。

longlonglong25 2010-07-24
  • 打赏
  • 举报
回复
恩。有spring.jar这个包
longlonglong25 2010-07-24
  • 打赏
  • 举报
回复
太让人费解了。。。
longlonglong25 2010-07-24
  • 打赏
  • 举报
回复
我测试过如果我把
public String list() throws SQLException {
this.categories=categoryService.getCategory();
return SUCCESS;
}

这段代码改成

public String list() throws SQLException {

BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
HibernateDaoImpl h=(HibernateDaoImpl)factory.getBean("CategoryDao");

this.categories= h.getCategory();
return SUCCESS;
}



就没有问题!!!
加载更多回复(19)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧