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; } }
}
}