我做了用户注销的页面,用户电击注销后,进入一个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);
  }
}

解决方案 »

  1.   

    没有必要 
    session.setAttribute("enterprise", null); 
    session.setAttribute("user", null); 
    直接删除session即可
    session.invalidate();
      

  2.   

    指定销毁
    session.removeAttribute("enterprise")
    session.removeAttribute("user")
      

  3.   

    HttpSession session=request.getSession(); 
        session.setAttribute("enterprise", null); 
      session.setAttribute("user", null); 
    你就是这样“枪毙”你的session的?
    如果里面只存有用户登录信息,那么就可以直接调用invalidate() 
    使它无效,如果还有其他信息,像楼上的把相关键值移除即可,用removeAttribute(String name)
      

  4.   

    session.invalidate(); 是彻底销毁session,包括里面的所有attribute,一并都销毁了session.remove...只是在session中移除了相关属性,不过移除登录信息的话,也可以用这种方式,这也能达到注销作用