过滤器:
i.无论请求和响应,都会被过滤器所拦截
ii.需要过滤器放行
实现一个Filter接口
init()、destory() 原理 、执行时机同Servlet
配置过滤器,类似servlet
通过都FIlter()处理拦截,并且通过chain.doFilter(request,response);放行
filter映射
只拦截 访问MyServlet的请求:
<url-pattern>/MyServlet</url-pattern>
拦截一切请求(每一次访问都会被拦截)
<url-pattern>/*<url-pattren>
通配符:
dispatcher请求方式:
REQUEST:拦截HTTP请求 get post 请求
FORWARD:只拦截通过请求转发方式的请求
INCLUDE:只拦截通过 request.getRequestDispatcher("").include()、通过<jsp:include page="..." />此种方式发出的请求
ERROR:只拦截<error-page>发出的请求
过滤器中都Filter方法参数:ServletRequest
在Servlet中的方法参数:HTTPServletRequest
过滤器链
可以配置多个过滤器,过滤器的先后顺序是由<filter-mapping> 的先后位置决定