过滤器是一个服务器端的组件,它可以截取用户的请求与响应消息,并对这些消息进行过滤。
比如,在点击进入某网站内容需要登录时,就会过滤请求信息中是否登陆
工作原理:
一般不加过滤器的web应用,用户与web资源直接进行交流,过滤器则是在二者之间夹了一层,所用请求和响应消息均需通过过滤器进行转发(过滤器由web容器托管,在web容器启动时加载)
过滤器的生命周期:
实例化:在web容器启动时进行,仅进行一次,(过滤器信心在web.xml中进行配置)
初始化:紧接实例化,也只进行一次,在容器启动时进行 init 该方法可以读取web.xml中filter的参数
过滤:用户发送请求和获取响应消息时进行,doFilter
销毁:容器退出时销毁 destroy
疑问:
1.过滤器是否能改变用户请求的web路径
a:可以
2.过滤器能否直接返回数据,不去访问web资源而直接返回给用户?
a:不可以
3.多个过滤器针对同一请求时,执行顺序问题?
过滤器链: