日期:2014-05-19  浏览次数:20621 次

很简单的SSH问题 java.lang.NullPointerException 在线等!!!
login.jsp
Java code
 <s:form action="register" method="post">
  <s:textfield name="user.username" label="用户名"/>
  <s:password name="user.password" label="密码"/>
  <s:submit value="注册"/>
  <s:reset value="重填"/>
  </s:form>


struts.xml
XML code
<package name="default" extends="struts-default">
<action name="register" class="action.RegisterAction">
<result name="success">/success.jsp</result>
</action>

ApplicationContext.xml
XML code
<bean id="userDao" class="Realized.UserDaoHibernate" />
<bean id="User" class="bean.User"/>

<bean id="registerAction" class="action.RegisterAction">

<property name="user" ref="User"/>
<property name="userDao" ref="userDao"/>
</bean>

RegisterAction.java
Java code
package action;

import javax.annotation.Resource;

import bean.User;

import com.opensymphony.xwork2.ActionSupport;

import dao.UserDao;

public class RegisterAction extends ActionSupport {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private UserDao userDao;
    public UserDao getUserDao() {
        return userDao;
    }
    @Resource
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }
    private User user;
    public User getUser() {
        return user;
    }
    @Resource
    public void setUser(User user) {
        this.user = user;
    }
    public String execute() throws Exception
    {
       userDao.saveUser(user);
       return SUCCESS;
    }
}




------解决方案--------------------
private User user;
把这个属性及相关的方法从Action中删除掉。
------解决方案--------------------
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
改成
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
试一下吧,好像被拦截器拦截了
------解决方案--------------------
我在奇怪这样写为什么IDE没给你错误提示,userDao.saveUser(user); 变量要先初始化再使用,给private User user 初始化为:private User user = null试试;