struts2、Spring3、hibernate,运行时Action中提示service空指针,该怎么解决
struts2、Spring3、hibernate,运行时Action中提示service空指针
Action代码如下:
UserServiceImpl代码:
struts.xml代码:
applicationContext.xml代码:
Action代码如下:
- Java code
package com.bbs.action; import com.bbs.bean.User; import com.bbs.service.UserService; public class LoginAction { private User user; private String userName; private String pwd; private UserService userService; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String Login() { String rs = null; try { User user = userService.findUser(userName); System.out.println(user.getName() + user.getPasw()); if (user != null && user.getPasw().equals(pwd)) { rs = "success"; } else { rs = "error"; } } catch (Exception e) { e.printStackTrace(); } return rs; } public UserService getUserService() { return userService; } public void setUserService(UserService userService) { this.userService = userService; } }
UserServiceImpl代码:
- Java code
package com.bbs.service.impl; import com.bbs.bean.User; import com.bbs.dao.UserDao; import com.bbs.service.UserService; public class UserServiceImpl implements UserService{ private UserDao userDao; @Override public User findUser(String userName) { return userDao.findUser(userName); } public UserDao getUserDao() { return userDao; } public void setUserDao(UserDao userDao) { this.userDao = userDao; } }
struts.xml代码:
- XML code
<?xml version="1.0" encoding="GBK" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="front" namespace="/" extends="struts-default"> <action name="index"> <result>/index.jsp</result> </action> <action name="toLogin"> <result>/WEB-INF/jsp/login.jsp</result> </action> <action name="login" class="com.bbs.action.LoginAction" method="Login"> <result name="success">/index.jsp</result> <result name="error">/WEB-INF/jsp/error.jsp</result> </action> </package> </struts>
applicationContext.xml代码:
- XML code
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" default-autowire="byName" default-lazy-init="true"> <!-- 配置数据源 --> <bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/forum" /> <property name="username" value="root" /> <property name="password" value="root" /> </bean> <!-- 配置sessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="myDataSource" /> <property name="hibernateProperties"> <props> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> </props> </property> <property name="mappingResources"> <list> <value>classpath:com/bbs/bean/User.hbm.xml</value> </list> </property> </bean> <bean id="userDao" class="com.bbs.dao.impl.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="userService" class="com.bbs.service.impl.UserServiceImpl"> <property name="userDao"> <ref local="userDao" /> </property> </bean> <!-- 配置struts2的Action --> <bean name="loginAction" scope="prototype" class="com.bbs.action.LoginAction"> <property name="userService"> <ref local="userService" /> </property> </bean> </beans>