Listener的作用是监听web应用(ServletContext对象,即jsp的隐式对象application)的创建和销毁以及在其上attribute发生的变化,还能监听session和request的生命周期以及它们的attribute发生的变化
这一整章来来回回都是这一套东西,通过实践深刻地理解掌握了就好
http://how2j.cn/k/listener/listener-context/605.html
监听Context
1.生命周期的监听
public class ContextListener implements ServletContextListener{
contextDestroyed();//对当前web应用的销毁
contextInitialized();//对当前web应用的初始化
}
配置监听器
<listener>
<listener-class>listener.ContextListener</listener-class>
</listener>
2.attribute变化的监听
public ContextAttributeListener
implements ServletContextAttributeListener{
attributeAdded();//监听属性的增加
attributeRemoved();//监听属性的移除
attributeReplaced();//监听属性的替换
}
配置web.xml
<listener>
<listener-class>listener.ContextAttributeListener</listener-class>
</listener>
监听session
1.生命周期的监听
public class SessionListener implements HttpSessionListener{
sessionCreated();//session创建的时候执行
sessionDestroyed();//session销毁的时候执行
}
配置SessionListener
<listener>
<listener-class>listener.SessionListener</listener-class>
</listener>
2.Session上Attribute变化的监听
public SessionAttributeListener implements HttpSessionListener{
attributeAdded();
attributeRemoved();
attributeReplaced();
}
配置web.xml
监听Request
RequestListener implements
ServletRequestListener和
ServletRequestAttributeListener
requestInitialized()
requestDestroyed()
attributeAdded()
attributeReplaced()
attributeRemoved()
统计在线人数
HTTP协议是短链接的所以无法在服务端根据建立了多少链接来统计当前有多少人在线,可以统计有多少session来估计在线人数
网友评论