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;
/**
@author daichen
*
/
public class LoginServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
/
@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("
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;
}
}
}
}
http://www.pc6.com/java/j_55284.html
打断点 oginServlet.doPost(LoginServlet.java:58) 你看下这个class的58行
at com.Users.LoginServlet.doPost(LoginServlet.java:58)
该文件类中第58行报的错误
空指针异常一般不是大问题,你看看这一行有几个对象,判断下那个对象是空对象,
看看该对象为什么为空是否被实例化,
如果是接收其他地方传来的数据,检测一下上一步是否传过来,是否接收到这个对象。
一步一步检测找到哪里是导致对象变空对象的原因。
看有没有进行null的判断