一个session就是一系列某用户和服务器间的通讯。服务器有能力分辨出不同的用户。一个session的建立是从一个用户向服务器发第一个请求开始,而以用户显式结束或session超时为结束
工作原理:
1.当一个用户向服务器发送第一个请求时,服务器为其建立一个session,并为此session创建一个标识号
2.这个用户随后所有请求都应包括这个标识号。服务器会校对这个标识号以判断请求属于那个session。这种机制不使用IP作为标识,因为很多机器是通过代理服务器方式上网,没法区分每一台机器。对于session标识号(sessionID),有两种方式实现:cookies和URL重写
作用:
电子邮件
网上购物(购物车)
处理表单重复提交
验证码
判断用户是否登录
如何创建
request.getSession(true);
true:如session不存在,创建一个新的session
false:如session不存在,返回一个null
session的超时管理
方法1:会话的超时间隔可以在web.xml文件中设置
在tomcat服务器的总的web.xml(conf/web.xml)文件修改session的超时时间,以分钟为单位
在此xml文件中配置session的超时时间,应该到该web站点的所有的web应用
<session-config>
<session-timeout>30</session-timeout>
</session-config>
方法二(配置session的超时管理只对当前的web应用)
在当前的web应用的web.xml文件中配置,此配置会覆盖服务器的web.xml文件的session的超时配置
<session-config>
<session-timeout>20</session-timeout>
</session-config>
方法3:在程序代码中配置超时时间,优先级最高
session.setMaxInactiveInterval(5);
工作原理:
1.当一个用户向服务器发送第一个请求时,服务器为其建立一个session,并为此session创建一个标识号
2.这个用户随后所有请求都应包括这个标识号。服务器会校对这个标识号以判断请求属于那个session。这种机制不使用IP作为标识,因为很多机器是通过代理服务器方式上网,没法区分每一台机器。对于session标识号(sessionID),有两种方式实现:cookies和URL重写
作用:
电子邮件
网上购物(购物车)
处理表单重复提交
验证码
判断用户是否登录
如何创建
request.getSession(true);
true:如session不存在,创建一个新的session
false:如session不存在,返回一个null
session的超时管理
方法1:会话的超时间隔可以在web.xml文件中设置
在tomcat服务器的总的web.xml(conf/web.xml)文件修改session的超时时间,以分钟为单位
在此xml文件中配置session的超时时间,应该到该web站点的所有的web应用
<session-config>
<session-timeout>30</session-timeout>
</session-config>
方法二(配置session的超时管理只对当前的web应用)
在当前的web应用的web.xml文件中配置,此配置会覆盖服务器的web.xml文件的session的超时配置
<session-config>
<session-timeout>20</session-timeout>
</session-config>
方法3:在程序代码中配置超时时间,优先级最高
session.setMaxInactiveInterval(5);