Fiter 笔记
来源:互联网 发布:arm linux gcc 4.4.3 编辑:程序博客网 时间:2024/06/05 12:05
Filter 笔记
什么是filter
filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理(介于客户端与访问资源之间的一个对象)
作用 :
1) 公共代码的提取
2) 可以对request和response中的方法进行增强(装饰者模式/动态代理)
3) 进行权限控制
创建一个监听器
步骤与servlet是一样的
1)编写一个过滤器的类实现Filter接口
2)实现接口中尚未实现的方法(着重实现doFilter方法)
3)在web.xml中进行配置(主要是配置要对哪些资源进行过滤)
创建样例 :
创建的监听器的代码如下 :
package club.dohacker.web.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class MyFilter1 implements Filter { public MyFilter1() { // TODO Auto-generated constructor stub } /** * 服务器关闭的时候执行这个方法 */ public void destroy() { // TODO Auto-generated method stub } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub // place your code here //在此填写你的过滤的方法 //下面代码会执行放行操作的 chain.doFilter(request, response); } /** * 创建当前过滤器的时候执行这个方法 * 服务器开启 */ public void init(FilterConfig fConfig) throws ServletException { // TODO Auto-generated method stub }}
在web.xml中的配置信息如下 :
<filter> <display-name>MyFilter1</display-name> <filter-name>MyFilter1</filter-name> <filter-class>club.dohacker.web.filter.MyFilter1</filter-class> </filter> <filter-mapping> <filter-name>MyFilter1</filter-name> <url-pattern>/MyFilter1</url-pattern> </filter-mapping>
Filter运作流程
注意:
(1)可以多个过滤器组成一个过滤器链
(2)链的执行顺序是和配置文件的mapping相关的
Filter 生命周期 :
创建 : 服务器创建 —->执行init
doFilter执行 —–>每次访问执行
- request : 内部封装的是http的请求的信息(想用 HttpServletRequest的方法,需要自己进行强转)
- response :待填充的响应信息的对象
- FileterChain : 过滤器链对象 —>维护当前链子 中的所有Filter , 其中的doFilter的意思是放行到下一个filter;
- 销毁 :服务器关闭
Filter配置详解 :
阅读全文
0 0
- Fiter 笔记
- fiter的笔记
- fiter 的例题
- python as lambda fiter的使用
- fiter过滤器控制统一编码和防止非法url进入
- IOS图片特效资源 -- Core Image Fiter Reference
- 过滤器fiter 和拦截器 interceptor 的区别
- UNITY3D shader学习心得<四> 贴图Fiter mode过滤器模式
- ASP.NET中cookie与Fiter实现简单登陆,AllowAnonymous匿名登陆
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 笔记
- 【转】DEM DTM DLG DRG DOM DSM
- 安卓中fragment的使用全解
- 两数之和(LintCode)
- c3po类/DateBaseUtils
- 惊现神作!!!
- Fiter 笔记
- 猜数字游戏
- 详解聚簇索引
- mesh三维画图[matlab]
- 记一次Deepin15.4.1下Android开发环境搭建
- Android Butter Knife 框架——最好用的View注入
- codevs 线段覆盖系列
- 前端_添加成员_排序
- hadoop+zookeeper+yarn搭建高可用完全分布式环境详细步骤