10
回答
SSI的困惑,求解。
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

web.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. <bean id="springUserinfoDao" class="com.easyui.model.dao.UserinfoDao">  
  2.         <property name="sqlMapClient" ref="sqlMapClient"></property>  
  3.     </bean>  
  4.   
  5.     <bean id="springUserinfoService" class="com.easyui.model.service.UserinfoSerive">  
  6.         <property name="genericDAO" ref="springUserinfoDao"></property>  
  7.     </bean>  
  8.   
  9.     <bean id="springUserinfoAction" class="com.easyui.web.action.UserinfoAction">  
  10.         <property name="userinfoService" ref="springUserinfoService"></property>  
  11.     </bean>  


sqlMapConfig.xml

Java代码 复制代码
  1. <sqlMapConfig>  
  2.  <sqlMap resource="com/easyui/model/entity/Userinfo.xml"/>  
  3. </sqlMapConfig>  


userinfo.xml

Java代码 复制代码
  1. <struts>  
  2.     <package name="userinfo" extends="default">  
  3.         <action name="userinfo" class="springUserinfoAction">  
  4.             <result >/ok.jsp</result>  
  5.         </action>  
  6.     </package>  
  7. </struts>   


action如下:

Java代码 复制代码
  1. private IUserinfoService userinfoService;  
  2.       
  3.     @Override  
  4.     public String execute()  {  
  5.         try {  
  6.             System.out.println(userinfoService);  
  7.             data = userinfoService.findAll();  
  8.             return SUCCESS;  
  9.         } catch (Exception e) {  
  10.             e.printStackTrace();  
  11.             return ERROR;  
  12.         }  
  13.     }  
  14. public void setUserinfoService(IUserinfoService userinfoService) {  
  15.         this.userinfoService = userinfoService;  
  16.         System.out.println("-->"+this.userinfoService);  
  17.     }  



我的tomcat6启动信息:只贴部分
信息: Deploying web application directory docs
2010-10-11 16:53:36 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory easyui
2010-10-11 16:53:38 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
-->com.easyui.model.service.UserinfoSerive@c05d952010-10-11 16:53:45 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory examples
2010-10-11 16:53:45 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2010-10-11 16:53:45 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2010-10-11 16:53:45 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory file
2010-10-11 16:53:45 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory ROOT
2010-10-11 16:53:45 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8086
2010-10-11 16:53:45 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2010-10-11 16:53:45 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/50  config=null
2010-10-11 16:53:45 org.apache.catalina.startup.Catalina start
信息: Server startup in 9646 ms

现在说问题:
我在页面请求这个action的时候,userinfoSerive始终为空,不明白是为什么。
还有我单元测试的时候都OK。
下面是单元测试代码:

Java代码 复制代码
  1. @Before  
  2.     public void setUp()  
  3.     {  
  4.         userinfoActon = (UserinfoAction) getBean("springUserinfoAction");  
  5.     }  
  6. @Test  
  7.     public void findAll()  
  8.     {  
  9.         System.out.println(userinfoActon.execute());  
  10.     }  



项目构架是:struts2+Spring3+Ibatis3

困惑中,欢迎大家解惑。

举报
姜虎
发帖于7年前 10回/578阅
顶部