• Web 器学习笔记(基础)


    Filter 过滤器

    概念:表示过滤器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一

    作用:顾名思义可以过滤资源的请求,并实现特殊的需求

    Filter 接口及它核心的 doFilter() 方法(执行前就是放行前逻辑)

    void doFilter(ServletRequest, ServletResponse, FilterChain)

    解析:FilterChain 接口是管理过滤器的“链式结构”,比如「禁止浏览器缓存」「实现自动登录」「编码过滤器」「敏感词过滤器」「压缩资源过滤器」「HTML转义过滤器」「缓存数据」…

    过滤器其实也是责任链模式的一种实现,FilterChain层层往下执行,直到最后没有过滤器,就到了「目标资源」)

    注意:注解配置的 Filter,优先级按照过滤器类名(字符串)的自然排序,比如:A~Z、0~9

     

     

     Listener 监听器

    实际上就是实现特定接口的普通Java程序。它专门监听Java对象的方法调用/属性改变,并可以作出反应

    回到 Servlet 层面上,我们更多的监听的是「Session」「Request」「ServletContext」「Application」这些对象的创建、销毁及属性内的变化(之后执行相应代码的功能组件)

    针对监听上面的几个对象,我们可以做出一些小例子,比如说「统计网站的在线人数」「自动踢人」「定时清除Session的值」

    作用总结:A发生了变化,而B需要依赖A发生的变化做出处理

    Listener 分类:JavaWeb 提供了八个监听器
    监听器分类监听器名称作用
    ServletContext监听ServletContextListener

    用于对 ServletContext 对象进行监听

    (创建、销毁)

    ServletContextAttributeListener

    对 ServletContext 对象中属性的监听

    (增删改属性)

    Session监听HttpSessionListener

    对 Session 对象的整体状态的监听

    (创建、销毁)

    HttpSessionAttributeListener

    对 Session 对象中的属性监听

    (增删改属性)

    HttpSessionBindingListener监听对象于 Session 的绑定和解除
    HttpSessionActivationListener对 Session 数据的钝化和活化的监听
    Request监听ServletRequestListener

    对 Request 对象进行监听

    (创建、销毁)

    ServletRequestAttributeListener

    对 Request 对象中属性的监听

    (增删改属性)

    监听使用例子:ServletContextListener

    1. 定义实现了 ServletContextListener 接口的类
    2. 在实现类上添加 @WebListener 注解
  • 相关阅读:
    疗养院无线wifi短信认证方案
    【工作流引擎】Activiti的使用03
    【限时福利】21天学习挑战赛 - MySQL从入门到精通
    奇异值分解
    10 分钟, 带你彻底掌握 SQL 多表查询
    【Spring】Day16
    spark学习索引
    vue3+ts+vite数据大屏自适应总结(两种方法)
    初识指针变量
    教你用HTML+CSS实现百叶窗动画效果
  • 原文地址:https://blog.csdn.net/2301_76632538/article/details/132914538