当前位置: 代码迷 >> Eclipse >> java.lang.NullPointerException请大侠指点!解决办法
  详细解决方案

java.lang.NullPointerException请大侠指点!解决办法

热度:26   发布时间:2016-04-23 13:50:33.0
java.lang.NullPointerException请大侠指点!
<%@page contentType="text/html; charset=gb2312" %>
<%@page import="java.util.*">

<%

String username=request.getParameter("username");
String user_psd=request.getParameter("user_psd");

String dbname="";
String dbpsd="";
String errMessage="";

if(username.equals(""))
errMessage += "用户名不能为空!";

if(user_psd.equals(""))
errMessage += "密码不能为空!"; 

try
{
DBase db=new DBase();
String sql1="select user.use_id,user.psd from user where use_id='"+username+"'";
ResultSet rs =db.executeQuery(sql1);

if(rs.next())
{dbname=rs.getString(1);dbpsd=rs.getString(2);}

} catch (Exception ex) {
ex.printStackTrace();
}

if((dbname.equals(username))&&dbpsd.equals(user_psd))
{
//response.sendRedirect("register1.jsp");
}
else{
errMessage+="用户名或密码有错!";
}

%>

肯定是在这里面,不知道哪里有问题,老抛出错误!

------解决方案--------------------
{dbname=rs.getString(1);dbpsd=rs.getString(2);}
应该是:{dbpsd=rs.getString(1);dbname=rs.getString(2);}
吧,密码和用户名取反了吧,因为下面你判断的时候用的((dbname.equals(username))&&dbpsd.equals(user_psd))
------解决方案--------------------
if(username.equals(""))username可能为空....你可以if(username==null||username.equals(""))判断试试
------解决方案--------------------
String username=request.getParameter("username");
String user_psd=request.getParameter("user_psd");
//请求可能不带这两个参数过来吧,他两有可能是NULL哦

String dbname="";
String dbpsd="";
String errMessage="";

if(username.equals(""))
errMessage += "用户名不能为空!";

if(user_psd.equals(""))
errMessage += "密码不能为空!"; 
------解决方案--------------------
就算你判断了是否为null,但是你判断完接着往下执行,下面还会使用null的变量,还是会出空指针异常
------解决方案--------------------
原因:
诸如username.equals("")的语句判断会引起空指针,因为username可能为空
解决方法:
"".equals(username),这样就没问题了,你把其他的也改下
------解决方案--------------------
探讨

if(username.equals(""))username可能为空....你可以if(username==null||username.equals(""))判断试试

------解决方案--------------------


String username=request.getParameter("username");
String user_psd=request.getParameter("user_psd");
user_psd 也要判断是否为NULL
if(username==null||username.equals(""))
errMessage += "用户名不能为空!";

else if(user_psd==null||user_psd.equals("")){
errMessage += "密码不能为空!"; 
}


探讨

引用:

引用:

if(username.equals(""))username可能为空....你可以if(username==null||username.equals(""))判断试试

正解,


我改成这样之后,还有问题,下面还需要怎样修改,求指导!
<%@page contentTy……

------解决方案--------------------
dbname和dspsd也要判断为空的情况...
探讨

恩,我已经改了,但是还有问题。。谁来救救我,疯了引用:
String username=request.getParameter("username");
String user_psd=request.getParameter("user_psd");
user_psd 也要判断是否为NULL
if(username==null||userna……
  相关解决方案