日期:2014-05-20  浏览次数:20990 次

jsp页面出现500错误
严重: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
at com.portalsite.action.RegAction.execute(RegAction.java:21)

RegAction.java:21 如下:
public String execute() throws Exception
{
if(user_name.equals("")||user_name==null){
addActionError("用户名不能为空!");
return "input";
}
else if(user_password.equals("")||user_password==null){
addActionError("密码不能为空!");
return "input";
}

请问各位大虾,咋回事?

------解决方案--------------------
java.lang.NullPointerException
at com.portalsite.action.RegAction.execute(RegAction.java:21)
空指针嘛 ,你查看一下 RegAction.java 的21行看看是什么东西空指针了
------解决方案--------------------
Java code
public String execute() throws Exception
{
if(user_name==null || user_name.equals("")){
addActionError("用户名不能为空!");
return "input";
}
else if(user_password==null || user_password.equals("")){
addActionError("密码不能为空!");
return "input";
}

------解决方案--------------------
。。。。 第一 判断非空 的问题
首先 纠正你的语法 问题因该就没了 user_name.equals("")||user_name==null
这样的判断 请 改为 "".equals(user_name)|| null == user_name
其次 合格的程序员 不写垃圾代码 判断 非空 
StringUtils.isNotBlank(user_name);
------解决方案--------------------
Integer userId=this.regservice.findByName(user_name);
if(userId!=null){
System.out.println("------------------------") ;//看看是否进入此处
addActionError("此用户已存在,请重新注册!");
return "input";
}
else{
this.regservice.RegUser(user_name,user_password);
return "success";

}

------解决方案--------------------
探讨
谢谢大虾,果然不提示指针错误了,但是又出现了新的错误,在注册页面输入数据点了“注册”按钮之后。还停留在本页面,跟点了“重置”按钮了的效果一样。而且数据库也没数据。

------解决方案--------------------
Java code
public String execute() throws Exception
{
if(user_name==null || user_name.equals("")){
addActionError("用户名不能为空!");
return "input";
}
---这么写,
if(user_name==null || "".equals(user_name))....
试试...

------解决方案--------------------
姐姐、你最起码的先判断字符串是不是null,然后再equals嘛 常识问题