session创建方式:用户第一次打开浏览器,web容器分配一个session
session销毁方式:1、关闭服务器 2、关闭浏览器直到session过期 3、不关闭浏览器,session超时
web.xml配置session超时时间,配置0表示永远不会超时,配置1表示超时时间为1分钟。超时不是定时器,没有确切的时间。

session超时时间的设置。
在web.xml中配置session-config参数,如果设置为0,代表不受时间限制,单位为分钟。
但是需要注意的是,这个时间不一定准,比如配置的是1分钟,有可能不是1分钟的时间销毁。
session销毁的原因:
关闭服务器;
关闭浏览器一段时间直到session过期;
不关闭浏览器,session超时
HttpSession的事件监听器
主要用途:
统计在线人数;
记录访问日志
HttpSession的事件监听器
HttpSessionListener
HttpSession的事件监听器
监听域对象(HttpSession):HttpSession实现了HttpSessionListener接口,用于监听该对象的创建及销毁事件,一个HttpSession对象可以注册多个HttpSessionListener接口,一个Web应用中也可以有多个HttpSession对象,HttpSessionListener有sessionCreated(HttpSessionEvent se)和sessionDestroyed(HttpSessionEvent se),分别是session创建和销毁时调用,方法里的参数可以获取当前创建的HttpSession对象。
HttpSessionListener主要用途:统计在线人数,记录访问日志(在后台把访问人的访问时间和ip做一些统计数据)
HttpSession对象的创建和销毁:session对象的创建是在用户第一次打开浏览器,第一次访问Wen应用时,这次对话Web容器就会分配一个session,用户可以在session里保存一些信息,session对象的销毁第一是关闭服务器,会调用销毁方法,第二种是关闭浏览器session会被销毁(session不一定会立即销毁,该时间不是一个量化的),第三种,不关闭浏览器,session超时(可以通过在web.xml中配置
<session-config>
<session-timeout>1</session-timeout>
</session-config>
设置超时时间,销毁并不会一定是1分钟)。
HttpSession的创建和销毁 实现HttpSessionListener接口用于监听它的创建和销毁事件 一个HttpSession可以注册多个HttpSessionListener接口, 一个web应用中可以有多个HttpSession对象 有两个事件处理方法: sessionCreated方法: public void sessionCreated(HttpSessionEvent se) session创建时调用 sessionDestroyed方法: public void sessionDestroyed(HttpSessionEvent se) session销毁时调用 HttpSessionListener的主要用途: 统计在线人数 记录访问日志,记录访问时间、访问的ip /** * 销毁session * 1.关闭服务器 * 2.关闭浏览器 * 3.不关闭浏览器,session超时 */ 不关闭浏览器,session超时 可以在web.xml配置session超时的时间 <session-config> <session-timeout>0</session-timeout> </session-config> 0:session没有超时的限制 1:session超时1分钟后销毁,但是并不是准确的一分钟
HttpSession:

session什么时候销毁呢?
第一,关闭服务器
第二,关闭浏览器一段时间直到session过期
第三,不关闭浏览器,session超时
session什么时候销毁呢?
第一,关闭服务器
第二,关闭浏览器一段时间直到session过期
第三,不关闭浏览器,session超时
HttpSession
ausihdgi
@Listener---HttpSession的事件监听器
创建和销毁:
实现HttpSessionListener接口用于监听它的创建和销毁事件
一个HttpSession可以注册多个HttpSessionListener接口,
一个web应用中可以有多个HttpSession对象 。
有两个事件处理方法:
sessionCreated方法:
public void sessionCreated(HttpSessionEvent se)
session创建时调用
sessionDestroyed方法:
public void sessionDestroyed(HttpSessionEvent se)
session销毁时调用
主要用途:
统计在线人数
记录访问日志,记录访问时间、访问的ip
/**
* 销毁session
* 1.关闭服务器
* 2.关闭浏览器
* 3.不关闭浏览器,session超时
*/
不关闭浏览器,session超时
可以在web.xml配置session超时的时间
<session-config> <session-timeout>0</session-timeout> </session-config>
0:session没有超时的限制
1:session超时1分钟后销毁,但是并不是准确的一分钟
销毁:1.关闭服务器;2.关闭浏览器一段时间直到session过期;3.不关闭浏览器,session过期
HttpSession的创建与销毁
<session-config> <!-- 设定超时销毁时间(分钟) 然而这个时间并不精确,而且当为0的时候表示无超时销毁--> <session-timeout>1</session-timeout> </session-config> session 失效的三种场景 1.关闭服务器 2.关闭浏览器,一段时间后,session自动消失 3.seesion 超时 HttpSession的创建和销毁 实现HttpSessionListener接口用于监听它的创建和销毁事件 一个HttpSession可以注册多个HttpSessionListener接口, 一个web应用中可以有多个HttpSession对象 有两个事件处理方法: sessionCreated方法: public void sessionCreated(HttpSessionEvent se) session创建时调用 sessionDestroyed方法: public void sessionDestroyed(HttpSessionEvent se) session销毁时调用 HttpSessionListener的主要用途: 统计在线人数 记录访问日志,记录访问时间、访问的ip /** * 销毁session * 1.关闭服务器 * 2.关闭浏览器 * 3.不关闭浏览器,session超时 */ 不关闭浏览器,session超时 可以在web.xml配置session超时的时间 <session-config> <session-timeout>0</session-timeout> </session-config> 0:session没有超时的限制 1:session超时1分钟后销毁,但是并不是准确的一分钟
4