普通的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 中 哪个在前,哪个先拦截