在action里给session赋值
HttpSession session;
session = request.getSession();
session.setAttribute("userid", Integer.toString(user.getId()));退出时:
HttpSession session = request.getSession();
session.removeAttribute("userid");
为什么,我在其他页面取session值时还有值
HttpSession session;
session = request.getSession();
String log_user = (String) session.getAttribute("userid");还有值存在,很是郁闷呀?????
用的时tomcat的服务器

解决方案 »

  1.   

    HttpSession session = request.getSession();
    session.removeAttribute("userid");
    =============================================
    你能保证你退出的时候,执行了这段代码?
      

  2.   

    我跟踪的时候,确实是执行了,我退出后,然后后退页面,我取sessiion值来判断,结果session依然有值,很是郁闷呀!在退出的Action里他清空了,但是到其他页面取还是有,天呀!!!<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String log_user = (String) session.getAttribute("userid");
    if(log_user==null || log_user.equals("")){
    %>
    <jsp:forward page="../login.jsp" /> 
    <%
    }
    %>
      

  3.   

    退出的时候用session.invalidate()就行了啊
      

  4.   

    session.invalidate()这个会不行,不会吧,
      

  5.   

    退出的时候用session.invalidate()就行了啊,绝对可以
      

  6.   

    request.getSession().removeAttribute("user");
    request.getSession(true).invalidate();
    这样呢
      

  7.   

    退出时把session给个空值看看行吗
      

  8.   

    把session给个空值 session不还是有值的么?
    session.invalidate();这个肯定好使  然后你注意写的位置 
    看看这句话执行没啊`?
      

  9.   

    session.setAttribute( "userid ",null);
    这个可以,我试过了 
      

  10.   

    session.removeAttribute( "userid "); 
    session.invalidate();
    response.sendRedirect(index.jsp);
      

  11.   

    session.invalidate();这个好使,我一直都用!