Servlet监听器
#2020云栖大会#阿里云海量offer来啦!投简历、赢阿里云限量礼品及阿里云ACA认证免费考试资格!>>>
能监听某个对象状态变化的组件,Servlet的监听器就是监听域对象的变化
| 事件源 | 被监听的对象 |
| 监听器 | 监听事件源的对象 |
| 注册监听器 | 监听器与事件源相绑定 |
| 响应行为 | 事件源行为触 发的监听器的行为 |
对于Servlet监听器事件源就是三个域对象request、session、servletContext
| servlet | ServletRequestListener |
|---|---|
| ServletRequestAttributeListener | |
| session | HttpSessionListener |
| HttpSessionAttributeListener | |
| servletContext | Servlet ContextListener |
| ServletContextAttributeListener |
域监听器,监听域的创建和销毁
以servletContextListener为例
public class Listener implements ServletContextListener {public void contextInitialized(ServletContextEvent sce) {System.out.println("服务器启动");}public void contextDestroyed(ServletContextEvent sce) {System.out.println("服务器关闭");}
属性监听器,监听属性的添加,移除,修改
public class Listener1 implements ServletContextAttributeListener {public void attributeAdded(ServletContextAttributeEvent scae) {}public void attributeRemoved(ServletContextAttributeEvent scae) {}public void attributeReplaced(ServletContextAttributeEvent scae) {}}

传入的参数scae就是当前的属性信息,当域对象添加移除或修改属性时就会传入这个当前属性作为参数,可以获得名还有值,也可以获得当前域对象。通过getSource获得域对象时需要强制转化类型
在写好了监听器要到web.xml中注册,在一个事件触发后会到web.xml中去找有没有对应的触发

或者使用注解
它,
不仅仅是一个码
本文分享自微信公众号 - IT那个小笔记(qq1839646816)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

浙公网安备 33010602011771号