- Filter:用于拦截请求
- Servlet:处理请求 响应结果
- listener:监听器
客户端请求资源:正常直接请求url,同一的资源定位符来进行请求,服务器处理后把结果响应给你,但是由于filter的存在 有放行和拦截两种状态 他的作用就是拦截或者放行请求
加依赖:servlet-api servlet-jsp -> scope:provided
scope:compile编译有效
运行编译时没有用scope:test
provided:部署打包成war包时不再有效 写代码时时需要
重写方法:
写过滤器拦截 使得请求资源的访问受到限制
实现一个Filter接口
servlet接收请求 -> filter是反过来的拦截请求 -> tomcat服务器创建Servlet和Filter对象 生命周期方法
tomcat开启 -> inittomcat关闭之前->destory
满足条件的拦截
注解配置:@webfilter
@webfilter("/*") -> 拦截所有请求
拦截方式:disparcherType
转发:服务器内部的一个跳转
一个请求:经过两个Filter
多个Filter -> 组成过滤器网 拦截顺序按照创建/类顺序(如果是注解)
Aservlet会先进行拦截没放行 请求不会往下走 BServlet再进行