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
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办