HttpServletRequest 相关的监听

于HttpServletRequest 相关的监听有 ServletRequestListener,ServletRequestAttributeListener也就是servletRequest对象生命周期的监听和request对象中属性的添加,修改,移除等属性值变动的监听

通过这request 生命周期的监听我们可以知道 servletRequest 的生命周期,也就是一个请求,当我们请求到达服务器,而服务器响应之后一个request 就结束了。

一、ServletRequestListener

1、ServletRequestListener 是request请求的生命周期的监听

2、 配置方式和之前的一样有两种,第一使用javax.servlet.annotation.WebListener; 第二种配置方式是web.xml 配置:

</session-config>

<listener>

<listener-class>soufun.com.HttpServletRequestL</listener-class>

</listener>

实例: @WebListener()

package soufun.com;

importjavax.servlet.ServletRequest;

importjavax.servlet.ServletRequestEvent;

importjavax.servlet.ServletRequestListener;

importjavax.servlet.annotation.WebListener;

importjavax.servlet.http.HttpServletRequest;

/**

*@author WHD

*data 2015年8月16日

*/

@WebListener()

public classHttpServletRequestL implements ServletRequestListener{

@Override

publicvoid requestDestroyed(ServletRequestEvent arg0) {

ServletRequest  res=arg0.getServletRequest();

res.removeAttribute("name");

System.out.println("ServletRequest 销毁");

}

@Override

publicvoid requestInitialized(ServletRequestEvent arg0) {

ServletRequest  res=arg0.getServletRequest();

res.setAttribute("name","okrequest");

System.out.println("ServletRequest 初始化");

}

}

实例: web.xml配置

package soufun.com;

importjavax.servlet.ServletRequest;

importjavax.servlet.ServletRequestEvent;

importjavax.servlet.ServletRequestListener;

importjavax.servlet.annotation.WebListener;

importjavax.servlet.http.HttpServletRequest;

/**

*@author WHD

*data 2015年8月16日

*/

public classHttpServletRequestL implements ServletRequestListener{

@Override

publicvoid requestDestroyed(ServletRequestEvent arg0) {

ServletRequest  res=arg0.getServletRequest();

res.removeAttribute("name");

System.out.println("ServletRequest 销毁");

}

@Override

publicvoid requestInitialized(ServletRequestEvent arg0) {

ServletRequest  res=arg0.getServletRequest();

res.setAttribute("name","okrequest");

System.out.println("ServletRequest 初始化");

}

}

二、ServletRequestAttributeListener

1、当request中的属性有变化的时候会调用相应的实现类的方法

2、配置方式同上有两:@WebListener() 和web.xml 配置

3、实例

(1)、@WebListener()

package soufun.com;

importjavax.servlet.ServletRequestAttributeEvent;

importjavax.servlet.ServletRequestAttributeListener;

importjavax.servlet.annotation.WebListener;

/**

*@author WHD

*data 2015年8月16日

*/

@WebListener()

public classHttpServletRequestAl implements ServletRequestAttributeListener{

@Override

publicvoid attributeAdded(ServletRequestAttributeEvent arg0) {

//TODO Auto-generated method stub

System.out.println("request 中添加属性的时候调用即 request.setAttribute(key,value)");

}

@Override

publicvoid attributeRemoved(ServletRequestAttributeEvent arg0) {

//TODO Auto-generated method stub

System.out.println("request 中移除 属性的时候调用即 request.removeAttribute(key)");

}

@Override

publicvoid attributeReplaced(ServletRequestAttributeEvent arg0) {

//TODO Auto-generated method stub

System.out.println("request 中替换属性的时候调用即 request.setAttribute(key,value)");

}

}

(2)、web.xml 配置

package soufun.com;

importjavax.servlet.ServletRequestAttributeEvent;

importjavax.servlet.ServletRequestAttributeListener;

importjavax.servlet.annotation.WebListener;

/**

*@author WHD

*data 2015年8月16日

*/

public classHttpServletRequestAl implements ServletRequestAttributeListener{

@Override

publicvoid attributeAdded(ServletRequestAttributeEvent arg0) {

//TODO Auto-generated method stub

System.out.println("request 中添加属性的时候调用即 request.setAttribute(key,value)");

}

@Override

publicvoid attributeRemoved(ServletRequestAttributeEvent arg0) {

//TODO Auto-generated method stub

System.out.println("request 中移除 属性的时候调用即 request.removeAttribute(key)");

}

@Override

publicvoid attributeReplaced(ServletRequestAttributeEvent arg0) {

//TODO Auto-generated method stub

System.out.println("request 中替换属性的时候调用即 request.setAttribute(key,value)");

}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 10:58:14

HttpServletRequest 相关的监听的相关文章

HttpSession 相关的监听

在前面我们学习了servletconfig和servletContext 知道了他们的应用方式,以及servletcontext 相关的监听后我们下面来看看httpsession 相关的监听 Httpsession 相关的监听有: HttpSessionListener,HttpSessionAttributeListener,HttpSessionBindingListener以及HttpSessionActivationListener 下面我们就来一个个看看相关实现: 一.HttpSess

DSAPI多功能组件编程应用-HTTP监听服务端与客户端_指令版

前面介绍了DSAPI多功能组件编程应用-HTTP监听服务端与客户端的内容,这里介绍一个适用于更高效更快速的基于HTTP监听的服务端.客户端. 在本篇,你将见到前所未有的超简化超傻瓜式的HTTP监听服务,与前篇中的不同,在DSAPI中,指令版同时包含了服务端与客户端. 先来看一下使用方法,几乎不需要太多的说明,当然,它是支持事件的.所谓指令版,即服务端和客户端收发都是基于短字串的,比如客户端发一个"hello",服务端收到这个指令后返回一个"Hi".为确保传输的数据有

java事件响应方法汇总(容器类监听、监听器类、AbstractAction、反射)

Java图形用户界面中,处理事件时所必须的步骤是: 1.创建接受响应的组件(控件)2.实现相关事件监听接口3.注册事件源的动作监听器4.事件触发时的事件处理 相应的可以通过以下的集中方式来作出事件响应. [java] view plaincopyprint? <span style="font-size: 18px;">一.容器类监听 效果:单击窗体中的三个按钮,实现相应的相应时间. </span><pre class="java" n

Android 通过反射及AIDL获取双卡手机SIM卡相关信息,及注册监听

在Android 5.0之前,虽然也有手机是双卡手机,但是双卡方案都是ODM厂商自己做的,或者是有芯片厂商提供的源码完成.因此,如果要在4.4甚至更早之前的手机上获取双卡信息,基本上不是一向巨大的工程.虽然之前尝试过使用反射方法去获取 高通的"android.telephony.MSimTelephonyManager"类 MTK的"com.mediatek.common.telephony.ITelephonyEx.aidl"类, 打印出函数的方法和参数以及类属性

IEngineEditor与IWorkspaceEdit,以及相关的事件监听

转自原文 IEngineEditor与IWorkspaceEdit,以及相关的事件监听 IEngineEditor适用于直接在图层上的编辑,例如使用"要素编辑"工具菜单上的"开始编辑"等工具进行编辑,相应的事件使用IWorkspaceEdit监听,例如以下的代码: private IEngineEditor m_EngineEditor = new EngineEditorClass(); private IEngineEditEvents_Event m_Engi

ALERT日志中常见监听相关报错之一:ORA-609错误的排查

参考MOS文档有: Troubleshooting Guide ORA-609 : Opiodr aborting process unknown ospid (文档 ID 1121357.1) Alert.log shows ORA-609 with TNS-12537: TNS:connection closed (文档 ID 1538717.1) Fatal NI Connect 12560' And 'ORA-609 Opiodr Aborting Process' Errors In

Linux系统 端口知识以及相关监听工具

在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型. 物理端口指的是物理存在的端口,如ADSL Modem.集线器.交换机.路由器上用 于连接其他网络设备的接口,如RJ-45端口.SC端口等等.逻辑端口指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等.由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,这就是端口号 一.端口按端口号可以分为3大类:-------

oracle 11g RAC数据库监听配置相关

oracle RAC 监听配置基本和单实例的配置相同 11g之后 安装RAC的过程中,不需要执行netca来手动创建监听,在安装集群软件的时候,会自动创建监听程序: 而在DBCA建库的时候,又会自动创建tnsname.ora文件 强烈推荐这篇: http://www.oracle.com/technetwork/cn/articles/database-performance/oracle-rac-connection-mgmt-1650424-zhs.html http://www.cnblo

ALERT日志中常见监听相关报错之三:ORA-609 TNS-12537 and TNS-12547 or TNS-12170 TNS-12535错误的排查

1.11G中ALERT日志中有报错ORA-609 TNS-12537 and TNS-12547 or TNS-12170  12170, 'TNS-12535等问题的解决方法: Troubleshooting Guide for TNS-12535 or ORA-12535 or ORA-12170 Errors (文档 ID 119706.1) TNS-12535 / ORA-12535 on Connection to Database (文档 ID 214122.1) 11g: ORA-