JAVA的过滤器(Filter)

Filter过滤器

1.简介

Filter也称之为过滤器,它是Servlet技术中最实用的技术,

例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、解决get和post乱码等一些高级功能。
Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter。

2.作用

①可以统一的集中处理请求和响应
②可以实现对请求数据的过滤

3.流程图

在这里插入图片描述

那么如何创建Filter呢?

请看图

在这里插入图片描述

实现Filter接口

在创建好的类中 实现Filter接口(import javax.servlet.*;包的)

实现方法

public void init(FilterConfig config) throws ServletException {
/初始化方法 接收一个FilterConfig类型的参数 该参数是对Filter的一些配置/
}

public void doFilter(ServletRequest req,ServletResponse resp, FilterChain chain) throws ServletException, IOException {
/*过滤方法 对request和response进行一些处理 chain.doFilter(req, resp);//交给下一个过滤器或servlet处理
}

public void destroy() {
       /*销毁时调用*/  
         }

常用配置项

配置需要拦截的资源

以指定资源匹配。例如"/index.jsp"

以目录匹配。例如"/servlet/*"

以后缀名匹配,例如"*.jsp"

通配符,拦截所有web资源。"/*"

过滤器链(ChainFilter)

	它可以指向下一个资源,如果还有过滤器,则继续进行下一次的过滤,如果没有过滤器,则会指向资源(servlet)。

注意

过滤器是在服务器启动时就会创建,
也就是说服务器一启动就会执行Filter的init方法.
当Filter被移除或服务器正常关闭时,会执行destroy方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值