Filter概述

全部内容:

  • 什么是Filter
  • 可以实现什么功能
    • filter原理
    • 入门案例
    • filterChain对象概述
  • 生命周期
  • FilterConfig概述
  • 相关配置
  • 开发案例(需求分析)

一. 什么是Filter

在这里插入图片描述
Filter称之为过滤器,是servlet中最实用的技术,web开发人员通过Filter技术,对web服务器所管理的资源(jsp,servlet,静态图片或者静态html文件)进行拦截,从而实现一些特殊的功能。简单说就是过滤从服务端向服务器发送请求的。

二. 可以实现什么功能?

 敏感词汇的检测
 控制用户的访问权限
 统计web应用的日志处理功能?

2.1 Filter原理
在这里插入图片描述
2.2入门案例
实现Filter接口重写方法对这份FilterDemo进行配置(web.xml中)
在这里插入图片描述

这里的/*表示拦截所有的请求,如果我们要放行的花使用FilterChain中的doFiletr(ServletRequest request, ServletResponse response)方法

2.3FilterChain对象概述

在FilerDemo中看到参数中有个对象叫FilterChain(过滤器链)
**什么是FilterChain?
在一个web项目中可以编写多个Filter,这些Filter组合起来就是FilterChain,会根据这些Filter在web.xml中注册的顺序,决定先调用哪个Filter,如果没有过滤器了就调用目标文件。
FilterChain对象只有一个方法,就是doFiletr(ServletRequest request, ServletResponse response)放行方法。

三. Filter的生命周期(简单理解就可以)

Filter的创建和销毁都是web服务器控制的:
服务器启动之后就会创建Filter,然后调用init()方法初始化,
服务器关闭就会销毁Filter对象
四. FileterConfig概述
和servletConfig类似,作用就是用来获得Filter相关配置的对象。这里就不赘述。

五. 相关配置

**配置
有三种拦截路径的写法:
 完全路径匹配
 目录匹配
 扩展名匹配

**配置(也是拦截的方法)
直接写servlet的名字就可以进行拦截
**配置(重要)
默认的情况下会拦截页面的请求,如何需要拦截转发呢?
 什么是转发?
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

 Dispatch的取值:
 Request默认值:拦截请求
 Forward拦截转发
 Include页面包含的时候进行拦截
 Error页面出现全局错误的时候进行拦截
代码实现:(可以配置多个值,既拦截请求又拦截转发)

六. 开发案例

6.1 权限验证过滤器:
 需求分析:
网站需要有登陆的功能,在登陆成功之后重定向到后台页面(后台的页面不止一个)如果现在没有登陆直接在地址栏上输入后台的地址,那么这个时候就要拦截。我们就是要编写这样一个过滤器,对没有登陆的用户进行拦截。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值