hyb635973875 2015-05-12 13:46 采纳率: 33.3%
浏览 1576
已采纳

java 写的登录验证问题

public class LoginCheck extends HttpServlet {

/**
 * Constructor of the object.
 */
public LoginCheck() {
    super();
}


public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setCharacterEncoding("UTF-8");
    request.setCharacterEncoding("utf-8");
    response.setContentType("text/html; charset=utf-8");
    PrintWriter out = response.getWriter();
    String userid = request.getParameter("userid");
    String password = request.getParameter("password");
    System.out.println(userid+password+"====================");

    if(request.getSession().getAttribute("loginUser")!=null){
        request.getRequestDispatcher("/index.html").forward(request, response);
    }else{
        Integer loginuserid=Integer.parseInt(userid);
        Management managementlogin = null ;
        ManagementService managementServicelogin = new ManagementService();
        managementlogin = managementServicelogin.getoneManagementbyID(loginuserid);
        if(!(managementlogin.getName() == null) ){
            String Chechpwd = managementlogin.getPwd();


             if(Chechpwd.equals(password)){
                    request.getSession().setAttribute("loginUser", managementlogin);
                    request.getRequestDispatcher("/index.html").forward(request, response);
                }else{
                    request.getRequestDispatcher("/login.jsp").forward(request, response);
                }



        }else{
            request.getRequestDispatcher("/login.jsp").forward(request, response);
        }
    }



}


public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    this.doGet(request, response);


}

}

 当输入正确的用户ID和密码时候,成功登录,当输入一个错误的用户id时候报错:type Exception report

message 

description The server encountered an internal error that prevented it from fulfilling this request.

exception 

java.lang.NullPointerException
    com.jclg.control.LoginCheck.doGet(LoginCheck.java:41)
    com.jclg.control.LoginCheck.doPost(LoginCheck.java:66)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:723)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.43 logs.


  • 写回答

2条回答

  • LeoChee 2015-05-12 14:08
    关注

    如果你输入一个错误的Id那么你的managementlogin就为null , 那么你的managementlogin.getName()就报错相当于null.getName()当然会报错

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?