Servlet过滤器Fileter是一个小型的web组件,它们通过拦截请求和响应,以便查看、提取或以某种方式操作客户端和服务器之间交换的数据,实现“过滤”的功能。
原理:调用目标资源之前,让一段代码执行。web服务器在调用doFilter方法时,会传递一个filterChain对象进来,filterChain对象是filter接口中最重要的一个对象,它也提供了一个doFilter方法,开发人员可以根据需求决定是否调用此方法,调用该方法,则web服务器就会调用web资源具体的servlet,即web资源就会被访问,否则web资源不会被访问。
每一个过滤器中有一个filterChain对象,这个对象就是过滤器的链,doFilter, - 放行,如果这个方法被调用则说明可以访问下一个过滤器,如果不调用这个方法,此时请求就停止
注意: 当在web.xml中配置了一个filter之后,在web容器(tomcat服务器)启动的时候会自动加载该filter,这个时候filter就会初始化,那么后续的只要有匹配的路径来访问web资源时,就会调用doFilter方法。其destroy方法在web容器关闭,或web应用移除时会调用。
Servlet过滤器在web开发中起到关键的拦截和处理请求与响应的作用。它们在web服务器启动时自动加载,并在匹配路径的请求到达时调用doFilter方法。filterChain对象决定了是否继续访问下一个过滤器或停止请求。当不调用filterChain的doFilter方法时,请求将被阻止,调用则允许访问。在web.xml配置后,filter会在web应用生命周期中初始化和销毁。
4万+

被折叠的 条评论
为什么被折叠?



