过滤器(拦截器)

本文深入解析了Filter接口在Servlet中的应用,包括初始化、销毁原理及执行时机。详细介绍了如何配置过滤器,利用doFilter()方法进行请求拦截,并通过chain.doFilter()放行请求。探讨了filter映射与dispatcher请求方式,以及过滤器链的概念。

在这里插入图片描述

主要:实现一个Filter接口

init()、destroy() 原理、执行时机 同Servlet
配置过滤器,类似servlet
通过doFilter()处理拦截,并且通过chain.doFilter(request, response);放行

filter映射

<filter>
  	<filter-name>Myservlet</filter-name>
  	<filter-class>org.setudent.filter.MyFilter</filter-class>
  </filter>
  <filter-mapping>
	<filter-name>Myservlet</filter-name>
	<url-pattern>/Myservlet</url-pattern>
  </filter-mapping>

只拦截 访问Myservlet的请求

<url-pattern>/Myservlet</url-pattern>

拦截一切请求(每一次访问 都会被拦截)

<url-pattern>/*</url-pattern>

通配符

dispatcher请求方式:
REQUEST:拦截HTTP请求 get post
FORWARD:只拦截 通过 请求转发方式的请求

INCLUDE:只拦截拦截通过 request.getRequestDispatcher("").include()  、通过<jsp:include page="..." />此种方式发出的请求
ERROR:只拦截<error-page>发出的请求

过滤器中doFilter方法参数:ServletRequest
在Servlet中的方法参数:HttpServletRequest

过滤器链
可以配置多个过滤器,过滤器的先后顺序 是由 <filter-mapping>的位置 决定

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值