1、在tomcat下设置
(1)C:apache-tomcat-6.0.32confweb.xml
注:30指分钟
(2)C:apache-tomcat-6.0.32confserver.xml
《Context path="/livsorder" docBase="/home/httpd/html/livsorder"
defaultSessionTimeOut="3600" isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true"
isWorkDirPersistent="false"/》
注:单位为秒
2、在项目的web.xml中设置
注: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, 一般需要强转
例子:
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"》
《/script》