大家对于filter都了解吗?下面要给大家带来的就是和filter有关的内容,一起来了解一下filter以及filter的功能吧。
什么是filter
filter也被叫做是过滤器,filter是Servlet技术当中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源,例: 静态图片文件、静态html文件、Servlet、Jsp等进行拦截,从而,实现一些特殊的功能。
例:实现URL级别的过滤敏感词汇、压缩响应信息、权限访问控制等一些高级功能。
filter主要是用来对用户请求进行预处理,也能够对HttpServletResponse进行后处理。
Filter流程:
Filter对用户请求进行预处理,随后,将请求交给Servlet进行处理并生成响应,最终Filter再对服务器响应进行后处理。
filter功能有哪些?
1、在HttpServletRequest到达Servlet之前,拦截客户的HttpServletRequest 。
依据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据。
2、在HttpServletResponse到达客户端之前,拦截HttpServletResponse 。
依据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。
延伸阅读:
怎样借助Filter实现拦截功能?
Filter接口当中有一个doFilter方法,在开发人员编写好Filter,并且配置对哪个web资源进行拦截之后,Web服务器每次在调用web资源的service方法之前,都会先调用一下filter的doFilter方法,所以,在这个方法内编写代码可达到下面的目的:
调用目标资源之前,让一段代码执行。
是否调用目标资源(也就是是否让用户访问web资源)。
web服务器在调用doFilter方法的时候,会传递一个filterChain对象进来,filterChain对象是filter接口中最重要的一个对象。
同时它也提供了一个doFilter方法,开发人员可以依据需求决定是否要调用这个方法。
调用这个方法,那么web服务器就会调用web资源的service方法,也就是web资源就会被访问,否则的话web资源不会被访问。
以上就是filter过滤器的相关介绍了,更多相关内容,可以继续关注本站的常见问题栏目了解。