读书人

Listener小例证

发布时间: 2012-11-03 10:57:44 作者: rapoo

Listener小例子

监听器Listerer的作用是监听ServletContext、ServletContextAttribute、HttpSession、HttpSessionAttribute事件的监听。

具体包括监听:上下文初始化、上下文销毁、上下文属性增加、上下文属性删除、上下文属性替换、Session创建、Session销毁、向Session里添加属性、从Session里删除属性、Session里属性替换等等。

当发生以上事件时,就会触发监听器的执行,但是前提是自定义的监听器需要实现上面功能的接口。

?

监听器随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。

监听器应用案例:

1、统计当前在线人员。

2、对象的初始化,因为监听器的初始化是在容器启动之前。例如:

???? 使用spring框架,就需要在web.xml中配置spring的一个listener,在tomcat启动的时候就会初始化spring

???? 初始化数据库连接

?

自定义的监听器可能实现的相关接口:

ServletContextListener:Servlet上下文

ServletContextAttributeListener:Servlet上下文属性

HttpSessionListener:Session

HttpSessionAttributeListener:Session属性操作

?

ServletContextListener接口的方法:

public void contextInitialized(ServletContextEvent event);//上下文初始化

public void contextDestroyed(ServletContextEvent event);//上下文销毁

?

ServletContextAttributeListener接口的方法:

public void attributeAdded(ServletContextAttributeEvent event);//增加属性

public void attributeRemoved(ServletContextAttributeEvent event);//删除属性

public void attributeReplaced(ServletContextAttributeEvent event);//替换属性

?

HttpSessoinListener接口的方法:

public void sessionCteated(HttpSessionEvent event);//session创建

public void sessionDestroyed(HttpSessionEvent event);//session销毁

?

HttpSessionAttributeListener接口的方法:

public void attributeAdded(HttpSessoinBindingEvent event);//增加属性

public void attributeRemoved(HttpSessoinBindingEvent event);//删除属性

public void attributeReplaced(HttpSessoinBindingEvent event);//替换属性

?

MyListener.java

?14到16行定义了一个Listener:com.vmn.MyListener

?

当在web应用中的servlet中触发了MyListener.java中定义的那10个事件的时候,就会触发这10个方法的执行。

?

相关API:

javax.servlet.ServletContextEvent;

javax.servlet.ServletContextAttributeEvent;

javax.servlet.http.HttpSessionEvent;

javax.servlet.http.HttpSessionBindingEvent;

?

?

1 楼 rxin2009 2012-09-12 文章很好,学习了,有一个问题呀请教lz:怎么去卸载一个监听器呢?

读书人网 >编程

热点推荐