JavaWeb监听器
三大组件:
l Servlet
l Listener
l Filter
Listener:监听器
- 初次相见:AWT
- 二次相见:SAX
监听器:
l 它是一个接口,内容由我们来实现;
l 它需要注册,例如注册在按钮上!
l 监听器中的方法,会在特殊事件发生时被调用!
观察者:
l 事件源;
- 小偷
l 事件;
- 偷东西
l 监听器;
- 警察
- 监听器中的方法:抓捕
JavaWeb中的监听器
l 事件源:三大域!
- ServletContext
¨ 生命周期监听:ServletContextListener,它有两个方法,一个在出生时调用,一个在死亡时调用;
² void contextInitialized( sce):创建SErvletcontext时
² void contextDestroyed( sce):销毁Servletcontext时
¨ 属性监听:ServletContextAttributeListener,它有三个方法,一个在添加属性时调用,一个在替换属性时调用,最后一个是在移除属性时调用。
² void attributeAdded( event):添加属性时;
² void attributeReplaced( event):替换属性时;
² void attributeRemoved( event):移除属性时;
- HttpSession
¨ 生命周期监听:HttpSessionListener,它有两个方法,一个在出生时调用,一个在死亡时调用;
² void sessionCreated( se):创建session时
² void sessionDestroyed( se):销毁session时
¨ 属性监听:HttpSessioniAttributeListener,它有三个方法,一个在添加属性时调用,一个在替换属性时调用,最后一个是在移除属性时调用。
² void attributeAdded( event):添加属性时;
² void attributeReplaced( event):替换属性时
² void attributeRemoved( event):移除属性时
- ServletRequest
¨ 生命周期监听:ServletRequestListener,它有两个方法,一个在出生时调用,一个在死亡时调用;
² void requestInitialized( sre):创建request时
² void requestDestroyed( sre):销毁request时
¨ 属性监听:ServletRequestAttributeListener,它有三个方法,一个在添加属性时调用,一个在替换属性时调用,最后一个是在移除属性时调用。
² void attributeAdded( srae):添加属性时
² void attributeReplaced( srae):替换属性时
² void attributeRemoved( srae):移除属性时
l javaWeb中完成编写监听器:
- 写一个监听器类:要求必须去实现某个监听器接口;
- 注册,是在web.xml中配置来完成注册!
l 事件对象:
- ServletContextEvent:ServletContext getServletContext()
- HttpSessionEvent:HttpSession getSession()
- ServletRequest:
¨ ServletContext getServletContext();
¨ ServletReques getServletRequest();
- ServletContextAttributeEvent:
¨ ServletContext getServletContext();
¨ String getName():获取属性名
¨ Object getValue():获取属性值
- :略
- :略
感知监听(都与HttpSession相关)
l 它用来添加到JavaBean上,而不是添加到三大域上!
l 这两个监听器都不需要在web.xml中注册!
HttpSessionBindingListener:添加到javabean上,javabean就知道自己是否添加到session中了。