简单学习Filter和Listener
程序员文章站
2022-05-22 20:22:24
...
Filter和Listener
1. Filter
-
作用:访问服务器资源时,将请求拦截,完成特殊功能
一般用来通用操作,例如:登录验证、编码处理、敏感字处理
-
入门:
- 定义类实现接口Filter
- 复写方法
- filterChain.doFilter(servletRequest, servletResponse)
- 配置拦截路径
- web.xml
- 注解@WebFilter("/*")过滤所有请求
-
细节:
-
web.xml
<filter> <filter-name>name</filter-name> <filter-class>classpath</filter-class> </filter> <filter-mapping> <filter-name>name</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
-
注解:@WebFilter("/*")
-
生命周期:
- init:启动后创建Filter对象,调用init方法
- doFilter:每次拦截请求执行一次
- destroy:服务器正常关闭后调用destroy方法
-
过滤器配置:
- 拦截路径:
- 具体资源路径:/index.jsp
- 具体资源目录:/user/*
- 具体后缀名:*.jsp
- 拦截所有:/*
- 拦截方式:资源访问的方式
- 注解方式
- dispatcherTypes属性
- REQUEST:直接请求
- FORWARD:转发资源
- INCLUDE:包含访问资源
- ERROR:错误跳转
- ASYNC:异步访问
- dispatcherTypes属性
- web.xml:设置
- 注解方式
- 过滤器链:多个过滤器,按照类名的命名来排序执行
- fliter1
- fliter2
- getResources
- fliter2 back
- fliter1 back
- 拦截路径:
-
2. Listener
-
概念:三大组件之一(Servlet,Filter,Listener)
-
事件监听机制:
- 事件
- 事件源:事件发生的地方
- 监听器:对象
- 注册监听:事件源上发生某个事件后执行监听器代码
-
ServletContextListener
- void contextInitialized(ServletContextEvent sce) ServletContext创建后调用
- void contextDestroyed(ServletContextEvent sce) ServletContext销毁后调用
-
步骤:
-
定义类实现ServletContextListener接口
-
复写方法
-
配置
-
web.xml
<listener> <listener-class>classpath</listener-class> </listener>
-
注解
-
-
下一篇: Java Web整体梳理-4
推荐阅读
-
JavaScript学习总结之正则的元字符和一些简单的应用
-
Filter、Servlet、Listener的学习_动力节点Java学院整理
-
Filter、Servlet、Listener的学习_动力节点Java学院整理
-
简单介绍Python中的filter和lambda函数的使用
-
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
-
Java:Listener和Filter
-
JavaScript学习总结之正则的元字符和一些简单的应用
-
Filter过滤器和Listener监听器详解
-
Oracle基础学习之简单查询和限定查询
-
tensorflow学习笔记之简单的神经网络训练和测试