package sanglp.servlet;

 import javax.servlet.*;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpServletRequest; /**
* Created by Administrator on 2016/10/5.
*/
@WebListener
public class RequestListener implements ServletRequestListener,ServletRequestAttributeListener { //用户请求到底,被初始化时触发该方法
@Override
public void requestInitialized(ServletRequestEvent servletRequestEvent) {
HttpServletRequest request=(HttpServletRequest)servletRequestEvent.getServletRequest();
System.out.println("发向"+request.getRequestURI()+"请求被初始化");
}
//用户请求到底,被销毁时触发该方法
@Override
public void requestDestroyed(ServletRequestEvent servletRequestEvent) {
HttpServletRequest request=(HttpServletRequest)servletRequestEvent.getServletRequest();
System.out.println("发向"+request.getRequestURI()+"请求被销毁"); } @Override
public void attributeAdded(ServletRequestAttributeEvent servletRequestAttributeEvent) {
ServletContext application=servletRequestAttributeEvent.getServletContext();
//获取添加的属性名和属性值
String name=servletRequestAttributeEvent.getName();
Object value=servletRequestAttributeEvent.getValue();
System.out.println(application+"范围内添加了"+name+"值为"+value+"的属性"); } @Override
public void attributeRemoved(ServletRequestAttributeEvent servletRequestAttributeEvent) {
ServletContext application=servletRequestAttributeEvent.getServletContext();
//获取添加的属性名和属性值
String name=servletRequestAttributeEvent.getName();
Object value=servletRequestAttributeEvent.getValue();
System.out.println(application+"范围内删除了"+name+"值为"+value+"的属性");
} @Override
public void attributeReplaced(ServletRequestAttributeEvent servletRequestAttributeEvent) {
ServletContext application=servletRequestAttributeEvent.getServletContext();
//获取添加的属性名和属性值
String name=servletRequestAttributeEvent.getName();
Object value=servletRequestAttributeEvent.getValue();
System.out.println(application+"范围内替换了"+name+"值为"+value+"的属性");
}
}

【JavaEE企业应用实战学习记录】requestListener的更多相关文章

  1. 【JavaEE企业应用实战学习记录】optiontransferselect实现两个列表选择框

    <%@ page contentType="text/html; charset=GBK" language="java"%> <%@tagl ...

  2. 【JavaEE企业应用实战学习记录】logFilter

    package sanglp.servlet; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import ja ...

  3. 【JavaEE企业应用实战学习记录】struts2实现登录并获取各个范围的数据

    package sanglp; import com.opensymphony.xwork2.*; /** * Created by Administrator on 2016/10/6. */ pu ...

  4. 【JavaEE企业应用实战学习记录】struts配置文件详细解析

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...

  5. 【JavaEE企业应用实战学习记录】struts2登录

    <%-- login.jsp Created by IntelliJ IDEA. User: Administrator Date: 2016/10/6 Time: 16:26 To chang ...

  6. 【JavaEE企业应用实战学习记录】struts国际化

    <%-- Created by IntelliJ IDEA. User: Administrator Date: 2016/10/6 Time: 16:26 To change this tem ...

  7. 【JavaEE企业应用实战学习记录】servlet3.0上传文件

    <%-- Created by IntelliJ IDEA. User: Administrator Date: 2016/10/6 Time: 14:20 To change this tem ...

  8. 【JavaEE企业应用实战学习记录】sessionListener

    package sanglp.servlet; import javax.servlet.ServletContext; import javax.servlet.annotation.WebList ...

  9. 【JavaEE企业应用实战学习记录】MyGetAttributeListener

    package sanglp.servlet; import javax.servlet.ServletContext; import javax.servlet.ServletContextAttr ...

随机推荐

  1. Linux命令整理中...

    Linux命令整理中... 最常用命令(我最近最常用的一般放在前面tipsbychsry) clear 清屏 date 显示日期 cal 显示日历 cal 2014 显示2014年的日历 shutdo ...

  2. Android gdb 调试

    [1].终端目录设置到: proj.android[2].make文件的编译选项加上: -g -gstabs+[3].执行编译脚本: sh ./build_native.sh NDK_DEBUG=1[ ...

  3. 嵌入式Linux开发板

    嵌入式Linux开发板开发介绍: iTOP-4412嵌入式Linux开发板搭载三星Exynos四核处理器,配备1GB内存,4GB固态硬盘EMMC存储,独家配备三星S5M8767电源管理,配备Andro ...

  4. TFS 2013 生成(构建)历史记录保持策略(Retention Policy)

    TFS服务器通过自动构建,实现软件生成和发布的自动化过程,这一直是TFS系统中非常重要的一个功能模块.近年来发布的TFS版本,都在自动化构建方面大幅增强了相应的功能.在这篇博客里我主要总结TFS 20 ...

  5. python paramiko

    paramiko 遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,可以实现远程文件的上传,下载或通过ssh远程执行命令. 项目地址:https://github.com/paramik ...

  6. BZOJ2763[JLOI2011]飞行路线 [分层图最短路]

    2763: [JLOI2011]飞行路线 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2523  Solved: 946[Submit][Statu ...

  7. JDK-Logger

    log4j的作者Ceki Gülcü在停止维护log4j后开始新的日志组件的开发,他的新作为日志门面slf4j以及log4j的替代品logback.不过logback至今还没有出1.0的正式版,所以使 ...

  8. Json数据的学习

    JSON 教程 <body><h2>JSON Object Creation in JavaScript</h2> <p>Name: <span ...

  9. C#的匿名方法

    匿名方法是在初始化委托时内联声明的方法. 例如下面这两个例子: 不使用匿名方法的委托: using System; using System.Collections.Generic; using Sy ...

  10. domReady方法(dom加载完成执行回调)

    var domReady = function( fn ) { var isReady = false, ready = function(){ if(!isReady){ typeof fn === ...