1.应该就是一个ie的窗口,新打开一个ie窗口的话,好象session是空的~~~2.
存值:
session.setAttribute("UserRight","1");
取值:
String userright=session.getValue("UserRight").toString();3.
session.setMaxInactiveInterval(300);

解决方案 »

  1.   

    那putValue
    getAttribute呢
    到底应该用那个?
    谢谢
      

  2.   

    getAttribute();
    putValue()
    是以前用的
      

  3.   

    putValue和getValue不建议使用
    已经分别被setAttribute和getAttribute替代
      

  4.   

    那putValue
    getAttribute呢
    到底应该用那个?
    谢谢
    记得要学的快点
    太前卫的,让你们也头痛
      

  5.   

    1、session的作用域?
    session通常由应用服务器来维护,对应j2ee,可以指tomcat实例或其它j2ee容器,如weblogic,也就是说,一个session对象可以被一个部署于应用服务器的web app共享,当然,我们都知道,一个安装成功的j2ee容器是可以部署多个webapp的,多个webapp之间是不可以共享session的,但有可能通过一些集群技术来实现session的多webapp共享
    2、怎样往session里存变量和取值是最可靠的?在servlet2.2以前使用putValue(java.lang.String name, java.lang.Object value)和
    getValue(java.lang.String name)来存取session属性,现在建议使用
    getAttribute(java.lang.String name)和
    setAttribute(java.lang.String name, java.lang.Object value)方法来存取session属性
    所以,如果你使用的环境支持servlet2.2以上版本,建议使用后者,如果你的servlet容器是老版本,如只支持servlet2.0,那么你是不可以使用getAttribute(java.lang.String name)和
    setAttribute(java.lang.String name, java.lang.Object value)3、怎样设置session里的变量/值的有效时间?一般web应用程序很少单独设置session里的某个变量/值的有效时间,规范也没有提高相应的API,而往往是通过设置整个session生命周期的长度来实现会话管理,可以使用
    setMaxInactiveInterval(int interval)方法来编程实现;也可以在应用服务器的配置文件中来设置默认的最长session生命周期长度,注意,前者的优先级较高。很明显,如果某个session实例失效或被清除,那么其中存储的所有变量属性会同时失效。如果系统的确需要在session的生命周期内对某些session属性进行控制,那你只好编程实现,即使用
    getAttribute(java.lang.String name)和
    setAttribute(java.lang.String name, java.lang.Object value)以及
    removeAttribute(java.lang.String name)等API,详细内容请参考servlet API doc .
      

  6.   

    1.我想session的作用范围应该是从打开IE开始到session超时为止. 
    2.
    存值\取值,我觉得都用session.setAttribute()\session.getAttribute();好一点啊!!3.
    在web-inf目录下的web.xml下配置:
    .........
    <webapp>
        <session-config>
            <session-timeout>你想要的时间(以秒为单位,如果设为-1,则有session永不超时)</session-timeout>
        </session-config>
    </webapp>
      

  7.   

    多谢楼上的,我用的JBOSS3.23应该支持servlet2.2吧?
      

  8.   

    需要补充的:removeValue(java.lang.String name)是servlet2.2以前版本的api
    2.2及以后版本的取代api是removeAttribute(java.lang.String name);getSessionContext() 是servlet2.1版本的特有api,对应2.2orlater不建议继续使用,但同时,也没有相应的替代api
      

  9.   

    每个IE窗口初始化时都会产生一个SessionID,当你访问服务器时这个sessionID会作为参数(一般是服务器cookie)传递过去,服务器会针对每个sessionid产生一个session对象,当你一定时间(web.xml中的session超时时间)不访问服务器,session就会失效。
    一般在ie中新开窗口(ctrl-n)和frame使用相同的SessionID,重新打开ie(点击桌面ie图标)产生新的SessionID
      

  10.   

    首先要知道session的作用,一般情况下是在你成功登录一个网站后系统分配一个id给你,只要你这个ie窗口不关sessionId就一直在,为了以后动态显示页面嘛。你要是新开一个窗口,这个id就没有了。是针对某一个用户的。
    存取方法建议使用setAttribute()和getAttribute(),移除就用removeAttribute()了,记得当用户注销或者退出的时候用invalidate()将session销毁就行了。
    设置session的生存时间用setMaxInactiveInterval(秒数),负值表示永不过期.
      

  11.   

    Zazu(沙祖) ( ) 是可信的,至少我也是这样认为 的!!!