Tomcat 8.x 《应用》,监听器(生命周期监听器、事件监听器)
来源:互联网 发布:北京中搜网络是真是假 编辑:程序博客网 时间:2024/05/16 10:35
以下监听可在WEB-INF/web.xml文件中配置
<listener> <listener-class>cn.java.listener.event.MyHttpSessionAttributeListener</listener-class></listener>
监听器接口列表
// 事件监听器//javax.servlet.ServletContextAttributeListener;//javax.servlet.ServletRequestAttributeListener;//javax.servlet.HttpSessionAttributeListener;//javax.servlet.ServletRequestListener;//javax.servlet.HttpSessionIdListener;// 生命周期监听器// javax.servlet.ServletContextListener;// javax.servlet.http.HttpSessionListener;
事件监听器
Session属性修改,事件监听器
package cn.java.listener.event;import javax.servlet.http.HttpSessionAttributeListener;import javax.servlet.http.HttpSessionBindingEvent;public class MyHttpSessionAttributeListener implements HttpSessionAttributeListener {/** * 添加属性的时候触发 * 触发地点:request.getSession().setAttribute("key1","value1"); */@Overridepublic void attributeAdded(HttpSessionBindingEvent event) {//event.getSource() === event.getSession() == org.apache.catalina.session.StandardSessionFacade//event.getName() == "key1"//event.getValue() == "value1"}/** * 删除属性的时候触发 * 触发地点:request.getSession().removeAttribute("key1") */@Overridepublic void attributeRemoved(HttpSessionBindingEvent event) {//event.getSource() === event.getSession() == org.apache.catalina.session.StandardSessionFacade//event.getName() == "key1"//event.getValue() == "旧值"}/** * 替换、修改属性的时候触发 * 触发地点:request.getSession().setAttribute("key1","value1_new"); */@Overridepublic void attributeReplaced(HttpSessionBindingEvent event) {//event.getSource() === event.getSession() == org.apache.catalina.session.StandardSessionFacade//event.getName() == "key1"//event.getValue() == "旧值"}}
SessionID修改时,事件监听器
package cn.java.listener.event;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionIdListener;public class MyHttpSessionIdListener implements HttpSessionIdListener {/** * 修改sessionId的时候触发 * org.apache.catalina.session.StandardSession.tellChangedSessionId(....); * 触发地点:request.changeSessionId(); */@Overridepublic void sessionIdChanged(HttpSessionEvent event, String oldSessionId) {//event.getSession() === event.getSource() === org.apache.catalina.session.StandardSessionFacade}}
ServletContext上下文属性修改,事件监听器
package cn.java.listener.event;import javax.servlet.ServletContextAttributeEvent;import javax.servlet.ServletContextAttributeListener;public class MyServletContextAttributeListener implements ServletContextAttributeListener {/** * 添加属性的时候触发 * 触发地点:request.getServletContext().setAttribute("key1","value1"); */@Overridepublic void attributeAdded(ServletContextAttributeEvent event) {//event.getServletContext() == event.getSource() == org.apache.catalina.core.ApplicationContextFacade //event.getName() == "key1"//event.getValue() == "value1"}/** * 删除属性的时候触发 * 触发地点:request.getServletContext().removeAttribute("key1") */@Overridepublic void attributeRemoved(ServletContextAttributeEvent event) {//event.getServletContext() == event.getSource() == org.apache.catalina.core.ApplicationContextFacade //event.getName() == "key1"//event.getValue() == "旧值"}/** * 替换、修改属性的时候触发 * 触发地点:request.getServletContext().setAttribute("key1","value1_new"); */@Overridepublic void attributeReplaced(ServletContextAttributeEvent event) {//event.getServletContext() == event.getSource() == org.apache.catalina.core.ApplicationContextFacade //event.getName() == "key1"//event.getValue() == "旧值"}}
request属性修改,事件监听器
package cn.java.listener.event;import javax.servlet.ServletRequestAttributeEvent;import javax.servlet.ServletRequestAttributeListener;public class MyServletRequestAttributeListener implements ServletRequestAttributeListener {/** * 添加属性的时候触发 * 触发地点:request.setAttribute("key1","value1"); */@Overridepublic void attributeAdded(ServletRequestAttributeEvent event) {//event.getServletContext() == event.getSource() == org.apache.catalina.core.ApplicationContextFacade//event.getName() == "key1"//event.getValue() == "value1"//event.getServletRequest() == org.apache.catalina.connector.RequestFacade == request}/** * 删除属性的时候触发 * 触发地点:request.removeAttribute("key1") */@Overridepublic void attributeRemoved(ServletRequestAttributeEvent event) {//event.getServletContext() == event.getSource() == org.apache.catalina.core.ApplicationContextFacade//event.getName() == "key1"//event.getValue() == "旧值"//event.getServletRequest() == org.apache.catalina.connector.RequestFacade == request}/** * 替换、修改属性的时候触发 * 触发地点:request.setAttribute("key1","value1_new"); */@Overridepublic void attributeReplaced(ServletRequestAttributeEvent event) {//event.getServletContext() == event.getSource() == org.apache.catalina.core.ApplicationContextFacade//event.getName() == "key1"//event.getValue() == "旧值"//event.getServletRequest() == org.apache.catalina.connector.RequestFacade == request}}
request创建、销毁,事件监听器
package cn.java.listener.event;import javax.servlet.ServletRequestEvent;import javax.servlet.ServletRequestListener;public class MyServletRequestListener implements ServletRequestListener {/** * 请求销毁 * 触发地点:org.apache.catalina.core.StandardHostValve.invoke(Request request, Response response) */@Overridepublic void requestDestroyed(ServletRequestEvent event) {//event.getServletContext() == event.getSource() == org.apache.catalina.core.ApplicationContextFacade //event.getServletRequest() == org.apache.catalina.connector.Request}/** * 请求初始化 * 触发地点:org.apache.catalina.core.StandardHostValve.invoke(Request request, Response response) */@Overridepublic void requestInitialized(ServletRequestEvent event) {//event.getServletContext() == event.getSource() == org.apache.catalina.core.ApplicationContextFacade //event.getServletRequest() == org.apache.catalina.connector.Request}}
生命周期监听器
session创建、销毁,生命周期监听器
package cn.java.listener.lifecycle;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;/** * Session的生命周期 * @author Administrator * */public class MyHttpSessionListener implements HttpSessionListener {/** * 触发地点1: * request.changeSessionId(); * org.apache.catalina.session.StandardSession.setId(String id) * org.apache.catalina.session.StandardSession.tellNew() */@Overridepublic void sessionCreated(HttpSessionEvent event) {//event.getSource() == event.getSource() == org.apache.catalina.session.StandardSessionFacade}/** * 触发地点:org.apache.catalina.session.StandardSession.expire(boolean notify) */@Overridepublic void sessionDestroyed(HttpSessionEvent event) {//event.getSource() == event.getSource() == org.apache.catalina.session.StandardSessionFacade}}
ServletContext上下文创建、销毁,声明周期监听器
package cn.java.listener.lifecycle;import javax.servlet.ServletContextEvent;/** * 服务器启动、关闭 * * 启动上下文、或者销毁上下文的时候触发 * @author Administrator * */public class MyServletContextListener implements javax.servlet.ServletContextListener {/** * 触发地点:org.apache.catalina.core.StandardContext.startInternal() */@Overridepublic void contextInitialized(ServletContextEvent event) {//event.getSource() == event.getServletContext() == org.apache.catalina.core.ApplicationContextFacade }/** * 触发地点:org.apache.catalina.core.StandardContext.stopInternal() */@Overridepublic void contextDestroyed(ServletContextEvent event) {//event.getSource() == event.getServletContext() == org.apache.catalina.core.ApplicationContextFacade }}
0 0
- Tomcat 8.x 《应用》,监听器(生命周期监听器、事件监听器)
- tomcat&生命周期&事件监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- 监听器
- android开发 权限适配6.0 permissionsdispatcher的安装使用
- 关于字节流与字符流
- I/O空间、内存空间以及Linux内存管理
- 欢迎使用CSDN-markdown编辑器
- Cannot get property 'versionCode' on extra properties extension as it does not exist
- Tomcat 8.x 《应用》,监听器(生命周期监听器、事件监听器)
- java线程解析
- ARM中断系统详述3
- HEX文件说明
- 插入排序
- Eclipse新建Web项目中J2EE Specification Level选项作用
- 数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇
- Dynamic web version与tomcat支持
- 模仿QQ左滑删除当前会话列表