读书人

Listener学习札记

发布时间: 2012-07-28 12:25:13 作者: rapoo

Listener学习笔记

本文参考了部分学友的文章,对这位朋友的辛勤劳动表示敬意,谢谢!

原文链接:http://just-do-myself.iteye.com/blog/654979

?

监听器常用在application对象及session对象创建时:

1)如果一个类实现了ServletContextListener接口,则需要重写init方法及destroy方法,当服务器启动的时候init方法被调用,当服务器关闭的时候destroy方法被调用

2)如果一个类实现了ServletContextAttributeListener接口,则需要重写attributeAdded方法attributeRemoved方法及attributeReplaced方法,当往application里放值的时候attributeAdded方法被调用,当从application里删值的时候attributeRemoved方法被调用,当替换application里的值的时候attributeReplaced方法被调用

3)如果一个类实现了HttpSessionListener接口,则需要重写init方法及destroy方法,当session创建的时候init方法被调用,当session销毁的时候destroy方法被调用

4)如果一个类实现了HttpSessionAttributeListener接口,则需要重写attributeAdded方法及attributeRemoved方法及attributeReplaced方法,当往session里放值的时候attributeAdded方法被调用,当从session里删值的时候attributeRemoved方法被调用,当替换session里的值的时候attributeReplaced方法被调用

?? 如要统计一下网站的同时在线用户数量及最高在线数量,可以使用HttpSessionListener实现,当用户访问的时候创建session,session数量加一,将session数量放入application里,当用户离开的时候session销毁,session数量减一

?

举例:

1、用户登录表单Login.jsp

2、用户登录处理页:LoginConf.jsp

3、用户列表显示页面:ShowAllUser.jsp

4、用户注销页面Logout.jsp

5.自定义Listener:OnlineUserListener

<listener>   <listener-class>listener.OnlineUserListener</listener-class>  </listener> 

读书人网 >行业软件

热点推荐