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 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)