servlet监听器
来源:互联网 发布:笔记本电脑蹭网软件 编辑:程序博客网 时间:2024/05/29 19:16
何谓监听器
- Listener 用于监听 java web程序中的事件,例如创建、修改、删除session、request、context等,并触发响应的事件。
- Listener 对应观察者模式,事件发生的时候会自动触发该事件对应的Listener。 Listener 主要用于对 session、request、context 进行监控。
监听器实现
- 不同功能的Listener 需要实现不同的 Listener 接口,一个Listener也可以实现多个接口,这样就可以多种功能的监听器一起工作。
- HttpSessionListener、ServletContextListener、ServletRequestListener分别监听 session、context、request 的创建与销毁。
public class TestListener implements HttpSessionListener, ServletRequestListener, ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { ServletContext context = sce.getServletContext(); System.out.println("context create: " + context.getContextPath()); } @Override public void contextDestroyed(ServletContextEvent sce) { System.out.println("context destroy: " + sce.getServletContext().getContextPath()); } @Override public void requestDestroyed(ServletRequestEvent sre) { ServletRequest req = sre.getServletRequest(); System.out.println("request destroy: " + req.getCharacterEncoding()); } @Override public void requestInitialized(ServletRequestEvent sre) { ServletRequest req = sre.getServletRequest(); System.out.println("request initialize: " + req.getCharacterEncoding()); } @Override public void sessionCreated(HttpSessionEvent se) { HttpSession session = se.getSession(); System.out.println("session create: " + session.getId()); } @Override public void sessionDestroyed(HttpSessionEvent se) { HttpSession session = se.getSession(); System.out.println("session destroy:" + session.getLastAccessedTime()); }}
- HttpSessionAttributeListener、ServletContextAttributeListener、ServletRequestAttributeListener分别监听不同作用域中对象属性的变化(新增、移除、修改)。
public class SessionAttributeListenerTest implements HttpSessionAttributeListener { public void attributeAdded(HttpSessionBindingEvent se) { HttpSession session = se.getSession(); String name = se.getName(); ... } public void attributeRemoved(HttpSessionBindingEvent se) { HttpSession session = se.getSession(); String name = se.getName(); ... } public void attributeReplaced(HttpSessionBindingEvent se) { HttpSession session = se.getSession(); String name = se.getName(); Object oldValue = se.getValue(); ... } }
- HttpSessionBindingListener(当对象放到session中触发)和HttpSessionActivationListener(当服务器关闭时触发,用于session对象的钝化(保存到硬盘)及重新加载)监听session内的对象,不需要在web.xml中配置。
- listener标签与 listener-class标签,listener一般配置在 servlet标签的前面。
<listener> <listener-class>***</listener-class></listener>
阅读全文
0 0
- Servlet监听器
- servlet监听器
- Servlet监听器
- Servlet监听器
- servlet 监听器
- servlet监听器
- Servlet监听器
- servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- servlet监听器
- servlet监听器
- servlet监听器
- servlet监听器
- Git小结(入门篇)
- jscpd--前端代码重复率检测
- hdu 3966 Aragorn's Story
- 用Java实现二叉链表方式存储的二叉树
- 依赖注入
- servlet监听器
- 14 java里的udp网络编程
- 封装
- 排序之插入排序(java实现的)
- 机械、电子、计算机类优秀的论坛或者网站
- mui createMask 遮罩层不隐藏问题
- 字母转换
- PLSQL 11破解码
- HTML 文本框只读 不能修改其中的内容