filter过滤器是什么?Filter功能有哪些?

KLQ 2020-04-22 16:35:56 java常见问答 6427

大家对于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过滤器的相关介绍了,更多相关内容,可以继续关注本站的常见问题栏目了解。