简单的servlet登录验证出了点问题,请大家帮忙看看
各位帮忙看下 为什么会出现
java.lang.NullPointerException 出现异常的是这句ps = con.prepareStatement(sql);
小弟混csdn不久,请各位前辈指教
public class Login extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws
ServletException,
IOException{
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
EmpCodeVO ec = new EmpCodeVO();
String emp_code = request.getParameter( "emp_code ");
ec.setEmp_code(emp_code);
String password = request.getParameter( "password ");
ec.setPassword(password);
DBConnection dc = new DBConnection();
Connection con = dc.getConnection();
String sql = "select * from emp_code where emp_code=? and emp_password=? ";
try{
PreparedStatement ps;
ps = con.prepareStatement(sql);
ps.setString(1, emp_code);
ps.setString(2, password);
ResultSet rs = ps.executeQuery();
while(rs.next()){
String emp_code2 = rs.getString(1);
String password2 = rs.getString(2);
if (emp_code.equals(emp_code2) && password.equals(password2)){
response.sendRedirect( "indexInfo2.htm ");
} else{
PrintWriter out = response.getWriter();
out.print( "登录失败! ");
}
}
} catch(Exception e){
e.printStackTrace();
}
}
}
------解决方案--------------------PreparedStatement ps = null;是不是应该初始化?
------解决方案--------------------try{
PreparedStatement ps;
应该是PreparedStatement ps = new PreparedStatement();
因为JVM没给ps分配内存空间,所以出现了错误。