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>
展开
 我来答
魍行天下
2013-09-24 · 超过22用户采纳过TA的回答
知道答主
回答量:111
采纳率:100%
帮助的人:64.4万
展开全部
struts2-spring-plugin,这个struts插件你需要正确配置。另外,请检查web.xml中struts2和spring相关的配置
更多追问追答
追问

 

web.xml中的配置应该没问题。

struts2-spring-plugin插件已经添加到工程中,还需要配置这个插件?

追答
scope="prototype" 改成 scope="request" 试一下

这里对么?你的装配是byType还是byName啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浙江启扬智能科技有限公司
2023-06-12 广告
Linux 嵌入式系统中,USB 启动模式能够烧写 ARM 的 uboot 的原因主要有以下几个方面:1. USB 启动模式相对于传统的 BIOS 启动模式来说,具有更高的兼容性和灵活性,可以支持更多的硬件设备和操作系统。2. USB 启动... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
kevintop3
2013-09-23 · TA获得超过1.5万个赞
知道小有建树答主
回答量:890
采纳率:100%
帮助的人:528万
展开全部
LoginAction中的blogLoginInfoService有set方法吗?

不贴代码,不好判断问题原因。
更多追问追答
追问

LoginAction.java主要代码:

都有get,set方法。而且jsp页面提交时都能正确接收到userName和passWord参数,但执行到第19行时前台就报空指针异常,debug追踪到blogLoginInfoService为null,spring注入没成功。

追答

LoginAction 这个bean的定义时,把id改成name试试。

<!-- 第三步,配置action -->
 <bean name="loginAction" class="com.ssh.action.LoginAction" scope="prototype">
      <property name="blogLoginInfoService" ref="loginInfoService"></property>
 </bean>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
管兴江
2013-09-24
知道答主
回答量:2
采纳率:0%
帮助的人:2845
展开全部
你给成员变量设了get set方法 了吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式