struts,spring 和Hibernate集成的问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 18:07:19
最近再做ssh集成 但是老出现一个问题就是 Servlet action is not available
是spring注入action的问题
我在action那个类(loginAction)注入一个访问数据操作类(LoginDAOImpl) 就出现上面的异常 我的(LoginDAOImpl)类需要注入一个sessfactory 我做main()方法测试过 LoginDAOImpl里面是可以注入的 一旦在web上就不行了 如果把spring中向loginAction注入LoginDAOImpl的代码注释 又可以正常运行

不解
错误如下 我把spring注入action那段代码删了 在aciton中直用'beanFactory' 获取 loginDAOImpL 报以下错误 .....
loginDAOImpL 注入 sessionfacoty 我做main方法是可以的

javax.servlet.ServletException: Error creating bean with name 'loginDAOImpl' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'seess'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.vis

说个笨法子:
其实就是Spring和struts的集成问题,你可以让你的action继承ActionSupport,用dao的时候就取IDao dao=getWebApplicationContext().getBean("dao"),然后直接用这个dao就可以了。

给分。同时多加点你也太小气了
是你的asm.jar闹的
在新建工程的时候注意把jar包copy到lib下,这样你好看有那几个jar包在工程里面。
解决办法:
删除lib下的asm开头的jar包,只留下asm.jar和asm-common.jar。
ok!!

如果,没有copy过去的话就只能在builderpath里面设置了

你的action是无效的
在Sping生成的.xml文件中,加入你的action

Spring 与Struts2的集成确实存在问题,只能靠getWebApplicationContext().getBean("dao"),手动装置的方式获取,而不能依靠注入的方式了

配置文件的问题,

代码 各个配置文件的 代码粘上来看看,