Servlet API中定义了8个监听器接口,可以用于监听ServletContext,HttpSession和ServletRequest对象的生命周期事件,以及这些对象的属性改变.
目前Servlet2.4和JSP2.0总共有8个监听器接口和6个Event类,其中HttpSessionAttributeListener与HttpSessionBindingListener皆使用HttpSessionBindingEvent;HttpSessionListener和HttpSessionActivationListener则都使用HttpSessionEvent;其余Listener对应的Event如下所示:
ServletContextListener 接口
该接口主要用于监听Web应用程序启动,销毁.该接口可用于Web应用程序启动时执行一些初始化的任务.
该接口提供了如下方法:
public void contextInitialized(ServletContextEvent sce)
当Web应用程序初始化进程开始时,Web容器调用这个方法.该方法将在所有过滤器和Servlet初始化之前被调用.
void contextDestroyed(ServletContextEvent sce)
当Servlet上下文将要被关闭时,Web容器调用这个方法.该方法将在所有的Servlet和过滤器销毁之后调用.
ServletContextEvent类
Web容器通过ServletContextEvent对象来通知实现了ServletContextListener接口的监听器,监听器可以利用ServletContextEvent类来得到ServletContext对象.
除了构造方法,该类只有一个方法:
public ServletContext getServletContext()
该方法用于得到ServletContext对象.
要让Web应用程序启动时通知监听器,需要在Web.xml的<linstener>元素中配置监听器类.在配置监听器时,不需要告诉容器实现了什么监听器接口.容器会自动识别.
HttpSessionBindingListener接口
如果一个对象实现了
HttpSessionBindingListener 接口,当该对象被绑定到Session中或者从Session中被删除时,Servlet容器会通知该
HttpSessionBindingListener对象.这个对象在接收到通知后,可以做一些初始化或清除状态的操作.
HttpSessionAttributesListener接口提供如下方法:
public void valueBound(HttpSessionBindingEvent event)
当对象被绑定到Session中,Servlet容器调用这个方法通知该对象.
public void valueUnbound(HttpSessionBindingEvent event)
当从Session中删除对象时,Servlet容器调用这个方法来通知该对象.
HttpSessionBindingEvent类
Servlet容器通过HttpSessionBindingEvent对象来通知实现HttpSessionBindingListener接口的对象.而对象可以利用HttpSessionBindingEvent对象来访问与它相联系的HttpSession对象.
javax.servlet.http.HttpSessionBindingEvent类的方法:
public HttpSessionBindingEvent(HttpSession session,java.lang.String name)
public HttpSessionBindingEvent(HttpSession session,java.lang.String name,java.lang.Object value)
构造方法,当一个对象绑定到Session中或从Session中被删除时,容器使用该事件对象通知监听器.
public java.lang.String getName()
返回绑定到Session中或者从Session中删除的属性的名字.
public java.lang.Object getValue()
返回被添加,删除,或替换的属性的值.如果属性被添加或者被删除,该方法返回属性的值.如果属性被替换,该方法返回属性先前的值.
public HttpSession getSession()
返回HttpSession对象.
分享到:
相关推荐
servlet监听器案例,web.xml,加jsp,listener的配置和使用
servlet,监听器,javaservlet,监听器,java
统计在线人员 人员登陆
关于Servlet监听器的几个例子,用于统计在线人数等等
JAVA Servlet监听器listener学习资料,精心整理,望对各位大虾有帮助。
通过在网上浏览,总结有关servlet监听器的一些内容
JAVA培训Servlet监听器.pdf
servlet监听器教程(含代码),不错的资源.
servelt 监听器 class MyRequest extends HttpServletRequestWrapper { public MyRequest(HttpServletRequest request) { super(request); } public String MyEncoding(String value) { String value...
servlet过滤器和监听器,servlet过滤器和监听器课件,servlet过滤器和监听器PPT
Servlet监听器在基于移动Web在线考试系统中的应用.pdf
NULL 博文链接:https://leiwuluan.iteye.com/blog/361234
在web.xml中配置监听器 servlet
IBM Servlet Listener课件,的确非常好。学习的好资料。
详见 http://www.cnblogs.com/xiaoduc-org/p/5400420.html
NULL 博文链接:https://ruyi574812039.iteye.com/blog/2113545