當我失效HTTP會話扔像下面一個空指針異常的東西:session.invalidate()拋出空指針異常
2012年12月14日下午九時49分52秒org.apache.catalina.session.StandardSession到期 SEVERE:會話事件偵聽器拋出異常 java.lang.NullPointerException
建議。
當我失效HTTP會話扔像下面一個空指針異常的東西:session.invalidate()拋出空指針異常
2012年12月14日下午九時49分52秒org.apache.catalina.session.StandardSession到期 SEVERE:會話事件偵聽器拋出異常 java.lang.NullPointerException
建議。
在代碼中放入一些斷點並在DEBUG模式下使用您最喜歡的IDE來確認此「會話」引用變量是否指向空對象。
之後,只是檢查,以澄清圍繞getSession()方法的所有細節的文件(它可能給你一些想法):http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpServletRequest.html#getSession%28boolean%29
我認爲你的問題解決了將使用此請嘗試。通過Gourav Gavate 公共無效的doGet(HttpServletRequest的請求,HttpServletResponse的響應) 拋出了ServletException,IOException異常{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String op = request.getParameter("operation");
System.out.println("operation valuse is ->"+op);
LoginService service = null;
ResultSet rs= null;
HttpSession session=null;
if (op.equals("Login")){
//System.out.println("1");
String un=request.getParameter("username");
String psd=request.getParameter("password");
try {
rs = service.searchByUsernameandPassword(un, psd);
//System.out.println("2");
while (rs.next()) {
//System.out.print(rp.getInt(1));
//System.out.print("\t"+rs.getString(2));
// System.out.println("in while");
if(un.equals(rs.getString(3))&& psd.equals(rs.getString(4)))
{
// System.out.println("in if");
session=request.getSession(true);
String name = rs.getString(1)+""+rs.getString(2);
session.setAttribute("name",name);
// System.out.println("set into session");
response.sendRedirect("http://localhost:8080/Registration/Registration.jsp");
}else{
response.sendRedirect("http://localhost:8080/Registration/Login.jsp");
}
}
} catch (Exception e4) {
System.out.println(e4);
}
} else if (op.equals("Logout")){
/*System.out.println("Into logout");
if(session!=null){
System.out.println("Into logout if");
session.removeAttribute("name");
session.invalidate();
response.sendRedirect("http://localhost:8080/Registration/Login.jsp");
}else{
System.out.println("Into logout else");
// session.removeAttribute("name");
session.invalidate();
response.sendRedirect("http://localhost:8080/Registration/Login.jsp");
}
*/
HttpSession session1 = request.getSession();
//session.removeAttribute("name");
session1.invalidate();
response.setHeader("Cache-Control","no-cache");
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires", 0);
response.sendRedirect("http://localhost:8080/Registration/Login.jsp");
}
}
顯示你的web.xml。 – Subin
你如何獲取會話對象 – ant
HttpSession session = request.getSession(); – Mitul