java session用法

关于session应用(1)--session过期时间设置
1、在tomcat下设置
(1)C:\apache-tomcat-6.0.32\conf\web.xml

 《session-config》
        《session-timeout》30《/session-timeout》
 《/session-config》

注:30指分钟

(2)C:\apache-tomcat-6.0.32\conf\server.xml

《Context path="/livsorder" docBase="/home/httpd/html/livsorder"     

defaultSessionTimeOut="3600" isWARExpanded="true"    

isWARValidated="false" isInvokerEnabled="true"    

isWorkDirPersistent="false"/》

注:单位为秒

2、在项目的web.xml中设置

 《session-config》
        《session-timeout》15《/session-timeout》
 《/session-config》

注:15指分钟

3、在java代码中

HttpSession ses = request.getSession();
ses.setMaxInactiveInterval(900);

注:参数900单位是,即在没有活动15分钟后,session将失效。单位为秒,设置为-1表示永不过期

注意的地方:

如果上述三个地方如果都设置了,有个优先级的问题,从高到低的顺序:(1)--(2)--(3)

关于session应用(2)--JAVA中怎么使用session

import javax.servlet.http.HttpSession; //需要引入servlet-api.jar

HttpSession session = request.getSession();
session.setAttribute("变量名", 值对象);
session.getAttribute("变量名"); //此时取出来的是Object, 一般需要强转
例子:
    ArrayList al=(ArrayList)session.getAttribute("变量名");
    for(int i=0;i
    {
            System.out.print(al[i]);
            Map map = (Map)al.get(i);
            int cache1 = Integer.parseInt(map.get("cache1").toString());
    }
session.removeAttribute("变量名");
session.invalidate(); //删除所有session中保存的键
session的removeAttribute和invalidate方法的区别:

session.removeAttribute()适用于清空指定的属性。
session.invalidate()是清除当前session的所有相关信息,session.invalidate()是让当前浏览器的session销毁,也就是一个session被销毁,比如用户登录后注销就用这个,因为注销意味着该用户session中的所有属性均失效。

关于session应用(3)--request.getSession().getAttribute()与${sessionScope}的用法

前面的是java代码,写在java源文件中,或者jsp的《%%》中。
后面的属于表达式,直接嵌在HTML代码中取值。
例子:
《script type="text/javascript"》
         if($.trim("${sessionScope.kobe}") == "")
         {
                top.location.href=http://www.baidu.com/;
         }

《/script》




posted @ 2014-10-15 10:07  Wishmeluck  阅读(469)  评论(0编辑  收藏  举报