session-config元素为Web应用中的javax.servlet.http.HttpSession对象定义参数。
<!ELEMENT session-config (session-timeout?)>
<!ELEMENT session-timeout (#PCDATA)>
session-timeout元素用来指定默认的会话超时时间间隔,以分钟为单位。该元素值必须为整数。如果session-timeout元素的值为零或负数,则表示会话将永远不会超时。
下面是一个部署描述符,在用户最近访问HttpSession对象30分钟后,HttpSession对象默认为无效:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun/dtd/web-app_2_3.dtd">
<web-app>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>
在访问页面时,网络有点延时的情况下(网络1分钟一次 “request time out"),在访问网页的时候偶尔就会出现”无法访问页面“的情况,而且不固定。
明显是网络问题。
但是发现在web.xml 配置文件是 <session-timeout> 0 </session-timeout> 。
参照"参考网络资料".
修改<session-timeout>3 0 </session-timeout>
看效果。
do.......
参考网络资料
1. 在server.xml中定义context时采用如下定义:
<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> 30 </session-timeout>
</session-config>
3. 在程序中通过servlet api直接修改
session的概念与基本用法
概念:
当用户与服务器连接时,服务器给每个用户一个session,并设定其中内容。
这些session相互独立。
服务器可以借此来辨别用户信息,进而提供个别服务。
session有存在期限。
类:
javax.servlet.HttpSession
内容:用于生成会话信息。
作用域:session
seesion的建立:
request.getSession (true);
在session中加入和删除数据:
方法 说明
putValue (String, Object) 设定session内容
removeValue (String) 删除seesion内容
取得session中变量内容:
方法 说明
getValue (String) 返回指定变量的内容
getValueNames () 返回所有变量的名称
范例:ch5-7.jsp
其他常用方法:
方法 说明
getId () 返回session ID
isNew () 判定session是否为新
invalidate () 删除session
getCreactionTime () 返回session建立的时间
getLastAccessedTime () 返回seesion最后访问时间
session的存在期限:
方法 说明
getMaxInactiveInterval () 返回seesion存在期限
setMaxInactiveInterval () 设定seesion存在期限