• Listener系列教材 (四)- Request


     

    对Request的监听分生命周期的监听,和Request上Attribute变化的监听两部分。

    步骤1:编写 RequestListener
    步骤2:配置web.xml
    步骤3:testRequest.jsp
    步骤4:测试

    步骤 1 : 编写 RequestListener

    RequestListener 实现接口 ServletRequestListener和ServletRequestAttributeListener 
     

    requestInitialized()


    当新创建了一个Request的时候触发,只要访问了服务端的资源,就会创建一个Request,无论是jsp,servlet还是html

    requestDestroyed()


    当本次请求结束的时候触发

    attributeAdded


    当有新增属性时触发

    attributeReplaced


    当有替换属性时触发

    attributeRemoved


    当有移除属性时触发

    package listener;

    import javax.servlet.ServletRequestAttributeEvent;

    import javax.servlet.ServletRequestAttributeListener;

    import javax.servlet.ServletRequestEvent;

    import javax.servlet.ServletRequestListener;

    import javax.servlet.http.HttpSessionEvent;

    import javax.servlet.http.HttpSessionListener;

    public class RequestListener implements ServletRequestListener, ServletRequestAttributeListener {

        @Override

        public void requestDestroyed(ServletRequestEvent arg0) {

            System.out.println("销毁了一个Request ");

        }

        @Override

        public void requestInitialized(ServletRequestEvent arg0) {

            System.out.println("创建了一个Request ");

        }

        @Override

        public void attributeAdded(ServletRequestAttributeEvent e) {

            System.out.println("request 增加属性 ");

            System.out.println("属性是" + e.getName());

            System.out.println("值是" + e.getValue());

        }

        @Override

        public void attributeRemoved(ServletRequestAttributeEvent arg0) {

            System.out.println("request 移除属性 ");

             

        }

        @Override

        public void attributeReplaced(ServletRequestAttributeEvent arg0) {

            System.out.println("request 替换属性 ");

             

        }

    }

    步骤 2 : 配置web.xml

    <listener>

        <listener-class>listener.RequestListener</listener-class>

    </listener>   

    步骤 3 : testRequest.jsp

    测试页面,先在request中设置test,然后替换,最后移出掉test

    <%@ page language="java" contentType="text/html; charset=UTF-8"

        pageEncoding="UTF-8"%>

    <%

        request.setAttribute("test", 1);

        request.setAttribute("test", 2);

        request.removeAttribute("test");

    %>

    步骤 4 : 测试

    访问页面

    http://127.0.0.1/testRequest.jsp


    观察测试结果

    测试


    更多内容,点击了解: https://how2j.cn/k/listener/listener-request/607.html

  • 相关阅读:
    Safe3TV
    LINQ 對付 SQL Injection 的 "免費補洞策略"
    Sstart(一个批量运行的小工具)
    从CSDN 漏洞谈.NET 安全开发
    看大成天下网站安全
    discuz获取任意管理员密码漏洞利用工具vbs版
    Wfuzz(支持各种web漏洞扫描的工具)
    Apache Tomcat UTF8编码漏洞
    VS2010下如何调试Framework源代码(即FCL)
    《Practical Clojure》学习笔记[3] Clojure中程序流程控制
  • 原文地址:https://www.cnblogs.com/Lanht/p/12789435.html
Copyright © 2020-2023  润新知