我的项目是SSH框架的。
exception javax.servlet.ServletException: java.lang.NullPointerException
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
root cause java.lang.NullPointerException
com.stustudy.action.LoginAction.findUsers(LoginAction.java:47)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)只是网页的报错,
严重: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
at com.stustudy.action.LoginAction.findUsers(LoginAction.java:47)
这是tomcat在报错。
我觉得 是依赖注入出问题了。
<bean id="usersDAO" class="com.stustudy.dao.UsersDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="usersService" class="com.stustudy.service.UsersServiceImpl">
<property name="usersDAO" ref="usersDAO"></property></bean>
.....想请问高手,userService这个beanID会在哪里被用到呢??这个名字不应该是随便定义的吧??因为这段是从其他项目里直接考过来的,所以怀疑是这出问题了。请指教吧
<property name="usersDAO" ref="usersDAO"></property>
你这里的usersService是service层的吧?那么这个id就要被action的类调用。当然在你下面的配置中,应该还有类似这样的配置<bean name="/fee" class="actions.PricingAction">
<property name="service">
<ref bean="pricingServiceProxy" />
</property>
</bean>
beanId在什么时候用,
applicationContext.xml:.....
1<bean id="usersDAO" class="com.stustudy.dao.UsersDAO">
2<property name="sessionFactory">
3<ref bean="sessionFactory" />
4</property>
5</bean>
6<bean id="usersService" class="com.stustudy.service.UsersServiceImpl">
7<property name="usersDAO" ref="usersDAO"></property>8</bean>
.....
在你另外一个与之有依赖关系的主键中,例如在第8行ref指定的就是之前的userDao 的beanId
............service - 业务层注入到action里调用