SSH整合为什么老是抛出
空指针?
工程有LoginAction、LoginServer、LoginDAO及LoginImpl实现类.
每个类各自都依照spring的配置有各自注入的Get Set方法。
applicationContext.xml:
XML code
<bean id="logindao" class="com.operator.hib.dao.impl.LoginImpl">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="loginservice" class="com.operator.struts.service.LoginService">
<property name="logindao">
<ref bean="logindao"/>
</property>
</bean>
<bean name="/login" class="com.operator.struts.action.LoginAction">
<property name="loginservice">
<ref bean="loginservice"/>
</property>
</bean>
但是在LoginAction中调用LoginServer时总会抛出以下错误:
2008-5-27 17:40:16 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
java.lang.NullPointerException at com.operator.struts.action.LoginAction.execute(LoginAction.java:55)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
..................
百度了,有说没有获取到applicationContext.XML的(tomcat启动未报错),没有正确注入的(get、set方法确认无误),有缺少包的,有包版本不对的,众说纷纭,没有统一的看法,大家帮忙看看发表自己的意见啊!!
------解决方案--------------------首先debug确认loginServer是空,是它造成的空指针!
然后确认以下:1,bean id=""配置名和action里声明的一致;
2,保证bean已经注入,比如new,或set;
3,看是不是缺少包,比如struts ,spring,plugin包!
------解决方案--------------------LoginAction.execute(LoginAction.java:55)
是什么哪
------解决方案--------------------<bean name="/login" class="com.operator.struts.action.LoginAction">
<property name="loginservice">
<ref bean="loginservice"/>
</property>
</bean>
这个action为什么不直接引入logindao
loginservice是干什么的?
------解决方案--------------------把完整的异常贴上来
------解决方案--------------------
应该是struts和spring集成的时候的问题,打下日志阿,看看spring还有struts的日志。我集成这两个框架的时候都是用<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>