spring整合struts2时,action里面的service注入不进来,报空指针异常,纠结了很久,解决了追加分。
异常如图:SSH配置如下:struts.xml配置文件:<struts><constantname="struts.objectFactory"value="spring...
异常如图:
SSH配置如下:
struts.xml配置文件:<struts> <constant name="struts.objectFactory" value="spring"></constant> <constant name="struts.i18n.encoding" value="utf-8"></constant>
<package name="firstPackage" extends="struts-default"> <!-- 此处的action应该和applicationContext.xml中配置的action保持一致 --> <action name="login" class="loginAction" method="execute"> <result name="SUCCESS">/WEB-INF/jsp/homepage.jsp</result> <result name="ERROR"> /WEB-INF/jsp/login.jsp </result> </action> </package>
</struts>
applicationContext.xml配置文件 :
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://192.168.2.5:3306/PersonalCenter"> </property> <property name="username" value="root"></property> <property name="password" value="cqabj208"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>com/ssh/beans/BlogLoginInfo.hbm.xml</value> </list> </property> </bean> <!-- 第一步,配置DAO支持类,引入HibernateTemplate --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate" scope="prototype"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- <bean id="basicDao" class="com.ssh.dao.BasicDao"> <property name="hibernateTemplate" ref="hibernateTemplate"></property> </bean> --> <bean id="blogLoginInfoDao" class="com.ssh.dao.BlogLoginInfoDao" scope="prototype"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- 第二步,配置service --> <bean id="loginInfoService" class="com.ssh.service.impl.BlogLoginInfoServiceImpl" scope="prototype"> <property name="blogLoginInfoDao" ref="blogLoginInfoDao"></property> </bean> <!-- 第三步,配置action --> <bean id="loginAction" class="com.ssh.action.LoginAction" scope="prototype"> <property name="blogLoginInfoService" ref="loginInfoService"></property> </bean> 展开
SSH配置如下:
struts.xml配置文件:<struts> <constant name="struts.objectFactory" value="spring"></constant> <constant name="struts.i18n.encoding" value="utf-8"></constant>
<package name="firstPackage" extends="struts-default"> <!-- 此处的action应该和applicationContext.xml中配置的action保持一致 --> <action name="login" class="loginAction" method="execute"> <result name="SUCCESS">/WEB-INF/jsp/homepage.jsp</result> <result name="ERROR"> /WEB-INF/jsp/login.jsp </result> </action> </package>
</struts>
applicationContext.xml配置文件 :
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://192.168.2.5:3306/PersonalCenter"> </property> <property name="username" value="root"></property> <property name="password" value="cqabj208"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>com/ssh/beans/BlogLoginInfo.hbm.xml</value> </list> </property> </bean> <!-- 第一步,配置DAO支持类,引入HibernateTemplate --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate" scope="prototype"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- <bean id="basicDao" class="com.ssh.dao.BasicDao"> <property name="hibernateTemplate" ref="hibernateTemplate"></property> </bean> --> <bean id="blogLoginInfoDao" class="com.ssh.dao.BlogLoginInfoDao" scope="prototype"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- 第二步,配置service --> <bean id="loginInfoService" class="com.ssh.service.impl.BlogLoginInfoServiceImpl" scope="prototype"> <property name="blogLoginInfoDao" ref="blogLoginInfoDao"></property> </bean> <!-- 第三步,配置action --> <bean id="loginAction" class="com.ssh.action.LoginAction" scope="prototype"> <property name="blogLoginInfoService" ref="loginInfoService"></property> </bean> 展开
3个回答
展开全部
LoginAction中的blogLoginInfoService有set方法吗?
不贴代码,不好判断问题原因。
更多追问追答
追问
追答
LoginAction 这个bean的定义时,把id改成name试试。
<!-- 第三步,配置action -->
<bean name="loginAction" class="com.ssh.action.LoginAction" scope="prototype">
<property name="blogLoginInfoService" ref="loginInfoService"></property>
</bean>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你给成员变量设了get set方法 了吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询