当前位置: 代码迷 >> Java Web开发 >> struts2、Spring3、hibernate,运行时Action中提示service空指针,该怎么解决
  详细解决方案

struts2、Spring3、hibernate,运行时Action中提示service空指针,该怎么解决

热度:278   发布时间:2016-04-17 10:55:02.0
struts2、Spring3、hibernate,运行时Action中提示service空指针
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>
  相关解决方案