13.JavaWeb基础 监听器
来源:互联网 发布:魔域帐号交易淘宝 编辑:程序博客网 时间:2024/06/05 00:20
监听器俗称监听Servlet。主要的功能是负责监听Web的各种操作,当相关的事件触发
之后将产生事件,并对此事件进行处理。在Web中可以对request、session、application
属性进行监听操作。
一.对application监听
ApplicationListener:
package com.zyy.listener;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class ApplicationListener implements ServletContextListener {public void contextDestroyed(ServletContextEvent event) {System.out.println("*************************Application销毁:"+ event.getServletContext().getContextPath());}public void contextInitialized(ServletContextEvent event) {System.out.println("***************************Application初始化:"+ event.getServletContext().getContextPath());}}
web.xml:
<listener> <listener-class>com.zyy.listener.ApplicationListener</listener-class> </listener>
ApplicationAttributeListener:
package com.zyy.listener;import javax.servlet.ServletContextAttributeEvent;import javax.servlet.ServletContextAttributeListener;public class ApplicationAttributeListener implementsServletContextAttributeListener {public void attributeAdded(ServletContextAttributeEvent event) {System.out.println("Application增加属性:" + " name = " + event.getName()+ " ,value = " + event.getValue());}public void attributeRemoved(ServletContextAttributeEvent event) {System.out.println("Application删除属性:" + " name = " + event.getName()+ " ,value = " + event.getValue());}public void attributeReplaced(ServletContextAttributeEvent event) {System.out.println("Application更新属性:" + " name = " + event.getName()+ " ,value = " + event.getValue());}}
web.xml:
<listener> <listener-class>com.zyy.listener.ApplicationAttributeListener</listener-class> </listener>
测试代码:
<%this.getServletContext().setAttribute("CaMnter", "Save you from anything 07") ; this.getServletContext().setAttribute("CaMnter", "Save you from anything 07 forever") ;this.getServletContext().removeAttribute("CaMnter") ;%>
刷新好多次页面得到如下:
二.对session监听
SessionListener:
package com.zyy.listener;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;public class SessionListener implements HttpSessionListener {public void sessionCreated(HttpSessionEvent event) {System.out.println("***** Session创建 id:" + event.getSession().getId());}public void sessionDestroyed(HttpSessionEvent event) {System.out.println("***** Session摧毁 id:" + event.getSession().getId());}}
web.xml:
<listener> <listener-class>com.zyy.listener.SessionListener</listener-class> </listener>
测试代码:
<%session.invalidate();%>
刷新好多次页面得到如下:
SessionAttributeListener:
package com.zyy.listener;import javax.servlet.http.HttpSessionAttributeListener;import javax.servlet.http.HttpSessionBindingEvent;public class SessionAttributeListener implements HttpSessionAttributeListener {public void attributeAdded(HttpSessionBindingEvent event) {System.out.println("Session增加属性:" + " name = " + event.getName()+ " ,value = " + event.getValue());}public void attributeRemoved(HttpSessionBindingEvent event) {System.out.println("Session删除属性:" + " name = " + event.getName()+ " ,value = " + event.getValue());}public void attributeReplaced(HttpSessionBindingEvent event) {System.out.println("Session更新属性:" + " name = " + event.getName()+ " ,value = " + event.getValue());}}
web.xml:
<listener> <listener-class>com.zyy.listener.SessionAttributeListener</listener-class> </listener>
测试代码:
<%session.setAttribute("CaMnter", "Save you from anything 07") ;session.removeAttribute("CaMnter");%>
刷新好多次页面得到如下:
三.对request监听
RequestListener:
package com.zyy.listener;import javax.servlet.ServletRequestEvent;import javax.servlet.ServletRequestListener;public class RequestListener implements ServletRequestListener {public void requestDestroyed(ServletRequestEvent event) {System.out.println("Request 销毁:"+ event.getServletRequest().getRemoteAddr()+ event.getServletContext().getContextPath());}public void requestInitialized(ServletRequestEvent event) {System.out.println("Request 初始化:"+ event.getServletRequest().getRemoteAddr()+ event.getServletContext().getContextPath());}}
web.xml:
<listener> <listener-class>com.zyy.listener.RequestListener</listener-class> </listener>
这个不需要测试代码,发布项目后,连接到即可。比如(http://127.0.0.1:8080/Listener)。
然后多次刷新后得到:
RequestAttributeListener:
package com.zyy.listener;import javax.servlet.ServletRequestAttributeEvent;import javax.servlet.ServletRequestAttributeListener;public class RequestAttributeListener implementsServletRequestAttributeListener {public void attributeAdded(ServletRequestAttributeEvent event) {System.out.println("Request增加属性:" + " name = " + event.getName()+ " ,value = " + event.getValue());}public void attributeRemoved(ServletRequestAttributeEvent event) {System.out.println("Request删除属性:" + " name = " + event.getName()+ " ,value = " + event.getValue());}public void attributeReplaced(ServletRequestAttributeEvent event) {System.out.println("Request更新属性:" + " name = " + event.getName()+ " ,value = " + event.getValue());}}
web.xml:
<listener> <listener-class>com.zyy.listener.RequestAttributeListener</listener-class> </listener>
测试代码:
<%request.setAttribute("CaMnter", "Save you from anything 07") ;request.setAttribute("CaMnter", "Save you from anything 07 forever") ;request.removeAttribute("CaMnter") ;%>
0 0
- 13.JavaWeb基础 监听器
- JavaWeb 监听器
- JavaWeb 监听器
- javaweb监听器
- JavaWeb监听器
- Javaweb监听器
- JavaWeb监听器
- javaweb监听器
- JavaWeb监听器
- javaWeb-监听器
- javaWeb监听器
- JavaWeb监听器
- JavaWeb监听器
- javaweb 监听器
- JavaWeb监听器
- Javaweb监听器
- JavaWeb监听器
- JavaWeb监听器
- Ubuntu下 ssh : connect to host localhost port 22:Connection refused
- msdn关于内存泄漏检测
- 在Win8系统中修改hosts文件无法保存的解决方法
- IArea
- android开发之setFocusable()和 setFocusableInTouchMode()方法的区别
- 13.JavaWeb基础 监听器
- Interleaving String
- poj3461 Oulipo (KMP模板题~) 前面哪些也是模板题 O.O
- Laplace算子
- java 并发 (1):原子计数器
- 10道经典java编程笔试题
- 动态索引结构和索引更新机制
- 排序之冒泡排序--参考MoreWindows
- linux命令行学习-dig(DNS查询器)