2进制 2016-12-14 07:48 采纳率: 0%
浏览 2853

数据库连接时总是空指针异常?测试表单信息无误,就是查询数据库时出错

java.lang.NullPointerException
at com.Users.LoginServlet.doPost(LoginServlet.java:58)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:154)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:514)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:527)
at com.caucho.util.ThreadPool.run(ThreadPool.java:449)
at java.lang.Thread.run(Unknown Source)

源代码:
package com.Users;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.Service.LoginService;

/**

  • 登录控制层 : LoginServlet
  • 将用户个人信息保存到 Session范围内
  • 根据status对页面进行分别显示
  • @author daichen
    *
    /
    public class LoginServlet extends HttpServlet
    {
    private static final long serialVersionUID = 1L;
    /

    • 注入 LoginService 服务 */ private LoginService loginService;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException
    {
    doGet(req,res);
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {
    request.setCharacterEncoding("GBK");
    response.setCharacterEncoding("GBK");
    User user = null;
    // 获取表单提交的登录信息
    String userId = null;
    String password = null;
    userId = request.getParameter("userId");
    password = request.getParameter("password");
    // 先判断用户信息是否否为空
    if(userId == null || "".equals(userId) || password == null || "".equals(password))
    {
    // 用户信息有误 , 回到 login.jsp 页面
    response.getWriter().println("

    对不起,你输入的信息有误 .请重新确认!

    ");
    return;
    }
    else
    {
    // 到数据表 user 中查找该用户 , 返回一个 User 对象
    System.out.println(userId+" "+password);
        user = loginService.userLogin(userId,password);
    
        // 并对查询到的结果进行处理
    
        if(user != null)
        {
            // 获取请求域的session对象
            HttpSession session = request.getSession();
            // 对三种权限分开添加到  Session 域中 
            if(user.getStatus() == 0){
                session.setAttribute("geneUser", user);
            }
            if(user.getStatus() == 1){
                session.setAttribute("admin", user);
            }
            if(user.getStatus() == 2){
                session.setAttribute("superAdmin", user);
            }
            // 成功获取到用户信息 , 转到   index.jsp
            RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/jsp/index.jsp");
            rd.forward(request, response);
            return;
        } 
        else
        {
            // 查询没有该用户 , 转到  login.jsp
            response.getWriter().print("<h3><font color='#f00'>对不起,你还未注册用户 </h3></font>"
                    + userId + "<h3><font color='#f00'>请先前去注册!</h3></font>");
            RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/jsp/register.jsp");
            rd.forward(request, response);
            return;
        }
    }
    

    }
    }

  • 写回答

4条回答 默认 最新

  • 鱼弦 全栈领域优质创作者 2016-12-14 07:55
    关注
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!