过滤器(拦截器springmvc)(学习笔记)

  实现一个Filter接口
  init()、destroy()原理、执行时间 同Servlet
  配置过滤器

有小红叉将“http://www.springmodules.org/schema/cache/springmodules-cache.xsd
http://www.springmodules.org/schema/cache/springmodules-ehcache.xsd”这段话加入到xml文件的"xmlns:xsi="的标签中

  通过doFilter()处理拦截,并通过chain.doFilter(request,response);放行
  filter映射
  只拦截 访问MyServlet的请求

<url-pattern>/MyServlet</url-pattern>

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

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

通配符

dispatcher请求方式:
REQUEST:拦截HTTP请求 get psot
FORWARD:只拦截 通过 请求转发方式的请求
在这里插入图片描述
  INCLUDE:只拦截 拦截通过 request.getRequestDispatcher("").include()、通过<jsp:include page="…"/>
  ERROR:只拦截发出的请求

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

过滤器链

  可以配置多个过滤器,过滤器的先后顺序是由<filter-mapping>的位置决定的。
  哪个filter-mapping在前面哪个就是第一个过滤器

<!-- 配置过滤器 -->
<filter>
 <filter-name>MyServlet</filter-name>
 <filter-class>org.student.filter.MyFilter</filter-class>
</filter>

<filter-mapping>
 <filter-name>MyServlet</filter-name>
 <!--   	<url-pattern>/MyServlet</url-pattern> -->
 <url-pattern>/*</url-pattern><!-- 拦截所有请求 -->
 <dispatcher>REQUEST</dispatcher>
 <dispatcher>FORWARD</dispatcher>
</filter-mapping>


<filter>
 <filter-name>MyServlet2</filter-name>
 <filter-class>org.student.filter.MyFilter2</filter-class>
</filter>

<filter-mapping>
 <filter-name>MyServlet2</filter-name>
 <url-pattern>/*</url-pattern><!-- 拦截所有请求 -->
</filter-mapping>
拦截请求....
拦截请求222....
拦截响应222....
拦截响应....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值