Filter过滤器

什么是Filter?

  1. 它是javaweb的三大组件之一(Servlet程序、Listener监听器、Filter过滤器)
  2. 它是javaEE的规范 , 也就是接口
  3. 作用:拦截请求(主要),过滤响应

拦截请求常见的应用场景

  • 权限检查
  • 日记操作
  • 事务管理
应用测试例1:
	要求:在你的web工程下,有一个admin目录,这个目录下的所有资源(HTML 页面,jpg图片,
	jsp文件...)都必须在用户登录以后才允许访问

	用户登录之后,都会将用户登录的信息保存到session域中,所有要检查用户是否登录,可以判断
	Session中是否有包含用户登录的信息即可

客户端发送请求到服务器,在服务器中先经过一层过滤器(过滤器先检查用户的权限(登录验证)),过滤器中判断有权限让程序默认执行去访问所需的资源;判断无权限让它跳转到登录页面或者提示拒绝此次访问

Filter的生命周期

Filter的生命周期

  1. 构造器方法
  2. init初始化方法
  3. doFilter过滤方法
  4. destroy 销毁方法

FilterConfig类

见名知意,它是Filter过滤器的配置文件类
Tomcat每次创建Filter的时候也会同时创建一个FilterConfig类,
这里包含了Filter配置文件的配置信息

FilterConfig类的作用是获取Filter过滤器的配置内容

  1. 获取Filter的别名filter - name的内容
filterConfig.getFilterName();
  1. 获取在Filter 中配置的 init - param初始化参数
filterConfig.getInitParameter("参数名");
  1. 获取ServletContext对象
filterConfig.getServletContext();

—————————————————————————————————————

FilterChain 过滤器链

过滤器链标示的是多个过滤器如何一起工作。

FilterChain.doFilter();
1 执行下一个Filter过滤器(如果有)这样就规定了怎样经过这些过滤器
2 执行目标资源(没有Filter了 )

Filter的拦截路径

1精确匹配

<url - pattern>/ target.jsp</url - pattern>
以上配置的路径,表示请求的地址必须为:
	http://ip:port/工程路径/target.jsp

2目录匹配

<url - pattern>/adimin//* 
</url - pattern>
以上配置的路径,表示请求地址必须为:
	http://ip:port/工程路径/admin/*(这个目录下全部资源)

3后缀名匹配

<url - pattern>*.html</url - pattern>
表示请求地址必须以.html结尾,不关心其余任何属性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值