普通的class->具有特定功能的类(过滤器、拦截器…)
1⃣️继承父类
2⃣️ 实现接口
3⃣️ 增加注解
过滤器:
1⃣️实现一个filter接口
public class MyFilter implements Filter{…}
class中有init(),destroy(),doFilter()
原理、执行实际 同servlet
2⃣️配置过滤器(类似servlet)
3⃣️通过doFilter()处理拦截,通过chain.doFilter(request,response)放行
filter映射
上图中的web.xml配置中的/MyServlet代表只拦截访问MyServlet的
/*代表拦截一切请求,访问index.jsp或者其他所有的都会拦截
dispatcher请求方式
REQUEST:拦截http请求 get/post
FORWARD:只拦截通过请求转发方式的请求
INCLUDE: 只拦截通过
request.getRequestDispatcher("").include()
<jsp:inlcude page = "... ">
这两种发送方式
ERROR:只拦截发送的请求
过滤器中doFilter的方法参数:servletRequest
在Servlet中的方法参数:httpServletRequest
过滤器链
就是客户端和服务器之间有很多很多个山贼
拦截顺序是web.xml 中 哪个在前,哪个先拦截