我做了用户注销的页面,用户电击注销后,进入一个servlet里,杀死session,返回首页,可是到了首页我点了浏览器上的返回按钮,又会到上页面,那个页面里还保留这欢迎登陆:用户的名字,用户名字是session里的, 现在session都枪毙了,怎么还有啊
servlet如下:
package servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Log_out extends HttpServlet {
public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
PrintWriter out=response.getWriter();
// String path=request.getHeader("Referer");得到请求JSP页面路径
HttpSession session=request.getSession();
session.setAttribute("enterprise", null);
session.setAttribute("user", null);
response.sendRedirect("index.jsp");
}
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
doPost(request,response);
}
}
servlet如下:
package servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Log_out extends HttpServlet {
public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
PrintWriter out=response.getWriter();
// String path=request.getHeader("Referer");得到请求JSP页面路径
HttpSession session=request.getSession();
session.setAttribute("enterprise", null);
session.setAttribute("user", null);
response.sendRedirect("index.jsp");
}
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
doPost(request,response);
}
}
session.setAttribute("enterprise", null);
session.setAttribute("user", null);
直接删除session即可
session.invalidate();
session.removeAttribute("enterprise")
session.removeAttribute("user")
session.setAttribute("enterprise", null);
session.setAttribute("user", null);
你就是这样“枪毙”你的session的?
如果里面只存有用户登录信息,那么就可以直接调用invalidate()
使它无效,如果还有其他信息,像楼上的把相关键值移除即可,用removeAttribute(String name)