这个MVC我用学号查询数据库用户为什么会报空指针异常?

这是查询代码:

//根据用户ID查找指定用户
public Student studentByID(String sid){
    Student student =new Student();
    Statement stmt3=null;
    ResultSet rs=null;
    Connection con2=null;
    try{
        stmt3=con2.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
        rs=stmt3.executeQuery("select * from student where Sid='"+sid+"'");
        if (rs.next()){
            student.setSid(rs.getString(1));
            student.setName(rs.getString(2));
            student.setClasses(rs.getInt(3));
            student.setSex(rs.getString(4));
            student.setEmail(rs.getString(5));
            student.setPolicalstatus(rs.getString(6));
            student.setPassword(rs.getString(7));
            student.setAge(rs.getInt(8));
            student.setRole(rs.getString(9));
        }
        rs.close();
        stmt3.close();
        con2.close();
    }
    catch (SQLException ex){
        ex.printStackTrace();
    }
    return student;
}

//这是登录页的代码:

String name=req.getParameter("names");
    String password=req.getParameter("passwords");
    String sid=req.getParameter("sid");
    String role="";
    //调用用户模型,获取用户角色
    studentDAO studentDAO = new dbconnection();
    student = studentDAO.studentByID(sid);
    req.setAttribute("student",student);
    if(password.equals(studentDAO.studentByID(sid).getPassword())){
        role=studentDAO.validate(name,password);
        if(role.equals("普通用户")){
            RequestDispatcher requestDispatcher = req.getRequestDispatcher("userpage.jsp");
            requestDispatcher.forward(req,resp);
        }
        else if (role.equals("管理员")){
            RequestDispatcher  requestDispatcher =req.getRequestDispatcher("managerpage.jsp");
            requestDispatcher.forward(req,resp);
        }
        else{
            RequestDispatcher requestDispatcher = req.getRequestDispatcher("load.jsp");
            requestDispatcher.forward(req,resp);
        }
    }
    else{
        System.out.println("您的密码有误!");
        RequestDispatcher requestDispatcher=req.getRequestDispatcher("load.jsp");
        requestDispatcher.forward(req,resp);
    }
}
 Connection con2=null;

con2没有创建对象,建立连接,添加代码如下:

Class.forName(driver);

con2 = DriverManager.getConnection(url,"sa","123456");

空指针异常,你查看一下你控制台的报错,然后点击看一下就知道了。

login.java 19行有问题

 

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m