您的位置:首页 > 其它

框架技术--S2SH框架整合(异常)No 1

2013-07-29 07:08 656 查看
spring+struts2整合后的空指针异常:

今天将s2sh三个框架整合在了一起,并且做了个简单的查询功能,在我的web project工程中我分为三次 ACTION、SERVICE、DAO。

并且做好了注入。

<!-- dao层注入sessionFactory -->
<bean id="couDAO" class="com.esoft.jeescs.dao.impl.FindCourseDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- service层注入dao -->
<bean id="findCourseServiceImpl" class="com.esoft.jeescs.service.impl.FindCourseServiceImpl">
<property name="findCourseDao">
<ref bean="couDAO" />
</property>
</bean>
<!-- action层注入service -->
<bean id="findMysql" class="com.esoft.jeescs.action.FindMysql">
<property name="findCourseService">
<ref bean="findCourseServiceImpl" />
</property>
</bean>

启动项目没问题,然后触发功能是,抛出一个异常

java.lang.NullPointerException
com.esoft.jeescs.action.FindMysql.findCourse(FindMysql.java:24)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)

可以看出是我们action层没有注入成功。

在网上查询了许久,发现时我的struts.xml文件配置存在了问题。在配置文件中class必须要和spring配置文件中的ID对应上,这样才可以

<action name="findMysql" class="findMysql" method="findCourse">
<result name="success">/login.jsp</result>
<result name="error">/login.jsp</result>
</action>

我印象中好像struts的class配置直接对应到类的路径也行,但是忘记要做什么其他的配置了,待后续查找下原因吧。

如果有大神知道可以告知下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: