比如设置了关于一个用户的两个session:Session.setAttribute("name",name);又有Session.setAttribute("kkk",obj);调用一次Session.invalidate()是不是把刚才设置的两个属性都注销了?而且注销了再也不能调用Session.setAttribute()方法了,怎么会这样呢?

解决方案 »

  1.   

    invalidate()方法的作用是结束session自动timeout   和   session.invalidate()都会使session结束。当你注销了以后,如果还想用,要重新创建一个新的session对象
      

  2.   


    1.jsp中不是可以直接使用Session的么。
    2.当注销了以后(在jsp中)要像在servlet中那样创建session那样产生新的Session么?那我开始进入jsp的时候都是直接用Session这个属性的呢!,
      

  3.   

    当调用invalidate后,当前session中的所有attribute都会失效,这个session也不应该再调用setAttribute方法了
    当IE下一次请求到达服务器的时候,服务器(像Tomcat之类)就会根据需要创建一个新的Session对象1、jsp中可以直接使用session对象,但是不能在page中声明session="false"这样,这个声明会导致session为null。
    2.无论在jsp还是servlet中注销了以后,下一次请求到达的时候都会创建新的会话。
      

  4.   

    sz貌似写的是权限,你最好用标签来写权限,用session写标签很好