struts2+Spring3+Ibatis3的困惑 求解!

问题描述

我在页面请求这个action的时候,userinfoSerive始终为空,不明白是为什么。spring3+ibatis3+struts2web.xml如下:Java代码1.<filter>2.<filter-name>struts2</filter-name>3.<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>4.</filter>5.<filter-mapping>6.<filter-name>struts2</filter-name>7.<url-pattern>*.action</url-pattern>8.</filter-mapping>9.<filter-mapping>10.<filter-name>struts2</filter-name>11.<url-pattern>*.jsp</url-pattern>12.</filter-mapping>13.<listener>14.<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>15.</listener>spring配置注入如下:Java代码1.<beanid="springUserinfoDao"class="com.easyui.model.dao.UserinfoDao">2.<propertyname="sqlMapClient"ref="sqlMapClient"></property>3.</bean>4.5.<beanid="springUserinfoService"class="com.easyui.model.service.UserinfoSerive">6.<propertyname="genericDAO"ref="springUserinfoDao"></property>7.</bean>8.9.<beanid="springUserinfoAction"class="com.easyui.web.action.UserinfoAction">10.<propertyname="userinfoService"ref="springUserinfoService"></property>11.</bean>sqlMapConfig.xmlJava代码1.<sqlMapConfig>2.<sqlMapresource="com/easyui/model/entity/Userinfo.xml"/>3.</sqlMapConfig>userinfo.xmlJava代码1.<struts>2.<packagename="userinfo"extends="default">3.<actionname="userinfo"class="springUserinfoAction">4.<result>/ok.jsp</result>5.</action>6.</package>7.</struts>action如下:Java代码1.privateIUserinfoServiceuserinfoService;2.3.@Override4.publicStringexecute(){5.try{6.System.out.println(userinfoService);7.data=userinfoService.findAll();8.returnSUCCESS;9.}catch(Exceptione){10.e.printStackTrace();11.returnERROR;12.}13.}14.publicvoidsetUserinfoService(IUserinfoServiceuserinfoService){15.this.userinfoService=userinfoService;16.System.out.println("-->"+this.userinfoService);17.}我的tomcat6启动信息:只贴部分信息:Deployingwebapplicationdirectorydocs2010-10-1116:53:36org.apache.catalina.startup.HostConfigdeployDirectory信息:Deployingwebapplicationdirectoryeasyui2010-10-1116:53:38org.apache.catalina.core.ApplicationContextlog信息:InitializingSpringrootWebApplicationContext-->com.easyui.model.service.UserinfoSerive@c05d952010-10-1116:53:45org.apache.catalina.startup.HostConfigdeployDirectory信息:Deployingwebapplicationdirectoryexamples2010-10-1116:53:45org.apache.catalina.core.ApplicationContextlog信息:ContextListener:contextInitialized()2010-10-1116:53:45org.apache.catalina.core.ApplicationContextlog信息:SessionListener:contextInitialized()2010-10-1116:53:45org.apache.catalina.startup.HostConfigdeployDirectory信息:Deployingwebapplicationdirectoryfile2010-10-1116:53:45org.apache.catalina.startup.HostConfigdeployDirectory信息:DeployingwebapplicationdirectoryROOT2010-10-1116:53:45org.apache.coyote.http11.Http11Protocolstart信息:StartingCoyoteHTTP/1.1onhttp-80862010-10-1116:53:45org.apache.jk.common.ChannelSocketinit信息:JK:ajp13listeningon/0.0.0.0:80092010-10-1116:53:45org.apache.jk.server.JkMainstart信息:JkrunningID=0time=0/50config=null2010-10-1116:53:45org.apache.catalina.startup.Catalinastart信息:Serverstartupin9646ms现在说问题:我在页面请求这个action的时候,userinfoSerive始终为空,不明白是为什么。还有我单元测试的时候都OK。下面是单元测试代码:Java代码1.@Before2.publicvoidsetUp()3.{4.userinfoActon=(UserinfoAction)getBean("springUserinfoAction");5.}6.@Test7.publicvoidfindAll()8.{9.System.out.println(userinfoActon.execute());10.}项目构架是:struts2+Spring3+Ibatis3困惑中,欢迎大家解惑。

解决方案

解决方案二:
加油,好好学校
解决方案三:
userinfoSerive这个没有set方法。在action中添加set方法就ok
解决方案四:
不会,不明白,顶
解决方案五:
该回复于2010-12-02 15:53:53被版主删除
解决方案六:
引用2楼yjflinchong的回复:

userinfoSerive这个没有set方法。在action中添加set方法就ok

14.publicvoidsetUserinfoService(IUserinfoServiceuserinfoService){15.this.userinfoService=userinfoService;16.System.out.println("-->"+this.userinfoService);17.}这不是有吗?启动还输出了
解决方案七:
顶,这个问题碰到过,就是忘记是怎么回事了~唉~~
解决方案八:
看上去是你的action创建没有交给Spring去管理,插件的JAR包都齐了么?还有就是XML文件里面改成这个试试<url-pattern>/*</url-pattern>

解决方案:
引用7楼chris1012f的回复:

看上去是你的action创建没有交给Spring去管理,插件的JAR包都齐了么?还有就是XML文件里面改成这个试试XMLcode<url-pattern>/*</url-pattern>

我试下,我也觉得我的spring和struts好像没关联上。
解决方案:
引用7楼chris1012f的回复:

看上去是你的action创建没有交给Spring去管理,插件的JAR包都齐了么?还有就是XML文件里面改成这个试试XMLcode<url-pattern>/*</url-pattern>

试了,还是不行。
解决方案:
struts2-spring-plugin-2.2.1.jar这个jar包放进lib里面了么
解决方案:
9.<filter-mapping>10.<filter-name>struts2</filter-name>11.<url-pattern>*.jsp</url-pattern>12.</filter-mapping>

把这行代码也删了,一步一步排错,看看是哪里出了问题。
解决方案:
学习中...
解决方案:
问题已解决!action的name不能叫userinfo
解决方案:
.......神奇
解决方案:
怪了......
解决方案:
该回复于2010-12-03 13:45:55被版主删除
解决方案:
ibatis,其中xml内,多一个表内没有的字段,那么就运行不通过!这点比较郁闷,没有啥提示,就是空的。运行不通过。要是有提示就好了!哎!
解决方案:
luguo
解决方案:
引用13楼j_863268304的回复:

问题已解决!action的name不能叫userinfo

<packagename="userinfo"extends="default"><actionname="userinfo"class="springUserinfoAction">是这里的配置问题吗?

时间: 2024-09-21 16:02:55

struts2+Spring3+Ibatis3的困惑 求解!的相关文章

Jboss7上+maven搭建struts2+spring3+hibernate3完整能运行

这是一个采用maven项目管理工具,集成struts2+spring3+hibernate3+mysql的一套框架模板,只是提供集成成功,struts2我采用的是零配置方式的,如果对着stuts2零配置方式不理解的,则回头学习一下.该程序测试时在jboss7 AS上运行成功.但是没有使用jndi数据源,在jboss7中数据源配置需要按照module的方式配置,但是jboss4中数据源则相对简单一点.jboss4中使用spring和struts2集成时会有问题,这里有一个解决的文章可以参考一下:h

Shiro+Struts2+Spring3 加上@RequiresPermissions 后@Autowired失效

问题描述 @ParentPackage("all")@Namespace("/project")public class ProjectAction extends BaseAction {public final static Logger logger = LoggerFactory.getLogger(ProjectAction.class);@Autowired(required=true)private ProjectService projectServ

struts2+spring3+junit4的测试问题

问题描述 我的项目是用struts2.3.1.2.spring3.1.0.hibernate3.junit4.11开发的,现在我要用junit测试我的action,我的struts2的配置文件和spring的配置文件放在resource/struts/struts2.xml和resource/spring/spring.xml下的,我的测试代码如下:public class AddEquipmentActionTest2 extends StrutsSpringTestCase { @Overr

Struts2 + Spring3 + MyBatis集成

问题描述 谁有String2+Spring+MyBatis集成的案例或者文档共享下. 解决方案 解决方案二:除了spring,其他都不知道是什么

Struts2+Spring3+Hibernate4+JBPM4.4整合问题

问题描述 jar包Spring 配置文件//新添加的 整合 JBPM <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">   <property name="jbpmCfg" value="jbpm.cfg.xml" /> </bean> <bean id="pro

通向架构师的道路 第十五天 IBM Websphere的安装与优化 (一)

一.IBMWebsphere 02年开始接触EJB1.x时,当时有一本巨肥厚无比的书叫作"ejb从入门到精通(master ejb2.0)",红皮的,wrox公司出版的. 该书带有1张光盘,光盘里有3个App Server. 1. Jboss2.2.1 2. Weblogic6.1 3. IBM Websphere ApplicationServer5.x 从那时起开始知道,哦,原来这3大厂商是做j2ee容器的.果然,时至今日这三大容器还是处于世界上无可争议的地位. 因此,我们前面讲了

通向架构师的道路(第十五天)IBM Websphere的安装与优化

一.IBMWebsphere 02年开始接触EJB1.x时,当时有一本巨肥厚无比的书叫作"ejb从入门到精通(master ejb2.0)",红皮的,wrox公司出版的.该书带有1张光盘,光盘里有3个App Server. 1.       Jboss2.2.1 2.       Weblogic6.1 3.       IBM Websphere ApplicationServer5.x 从那时起开始知道,哦,原来这3大厂商是做j2ee容器的.果然,时至今日这三大容器还是处于世界上无

Java 私塾在线

一.Java基础必知必会 1.Java初级教程 http://sishuok.com/product/41      ppt下载:http://sishuok.com/forum/posts/list/1030.html      Java的基础语法.面向对象初步.方法的覆盖和重载的知识点和规则.数组的基础知识.抽象类的理论知识和应用等知识      2.Java中级教程 http://sishuok.com/product/61      ppt下载:http://sishuok.com/fo

mybatis-求助解决 myBatis 使用pool2和dbcp2 出现的空指针异常

问题描述 求助解决 myBatis 使用pool2和dbcp2 出现的空指针异常 本人在项目中使用了 Struts2/Spring3.5/myBatis2 的开源框架,并且将原有的 commons pool 1.x 和 commons dbcp 1.x升级到了 pool2 和 dbcp2 版本, 但总是出现 数据库连接池 在 evict() 时的空指针异常,求高手赐教-! 解决方案 http://www.iteye.com/problems/129311