我在页面请求这个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.<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 困惑中,欢迎大家解惑。
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.<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 困惑中,欢迎大家解惑。
14.public void setUserinfoService(IUserinfoService userinfoService) {
15. this.userinfoService = userinfoService;
16. System.out.println("-->"+this.userinfoService);
17. } 这不是有吗?
启动还输出了
9. <filter-mapping>
10. <filter-name>struts2</filter-name>
11. <url-pattern>*.jsp</url-pattern>
12. </filter-mapping> 把这行代码也删了,一步一步排错,看看是哪里出了问题。
action的name不能叫userinfo
<action name="userinfo" class="springUserinfoAction">
是这里的配置问题吗?