Introduction of Filter in Servlet

Posted qqq-65536

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Introduction of Filter in Servlet相关的知识,希望对你有一定的参考价值。

   Filter,过滤器,顾名思义,即是对数据等的过滤,预处理过程。为什么要引入过滤器呢?在平常访问网站的时候,有时候发一些敏感的信息,发出后显示时 就会将敏感信息用*等字符替代,这就是用过滤器对信息进行了处理。这只是一个简单的例子,当然,过滤器那么强大,它的功能也不可能局限于此,它不仅能预处 理数据,只要是发送过来的请求它都是可以预处理的,同时,它还可以对服务器返回的响应进行预处理,这样,大大减轻了服务器的压力。例如,实现URL级别的 权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。下面来详细介绍一下过滤器。

1.定义:

过滤作用,对从客户端向服务器端发送的请求进行过滤,也可以对服务器端返回的响应进行处理。它使用户可以改变一个request和修改一个 response.。Filter 不是一个servlet,它不能产生一个response,但是它能够在一个request到达servlet之前预处理request,也可以在 response离开servlet时处理response。换句话说,filter其实是客户端与servlet中间的一个传递者,并且它可以对要传递 的东西进行修改。

2.适用场合

实现URL级别的权限访问控制,过滤敏感词汇,压缩响应信息等。

3.过滤器如何实现拦截

当客户端发生请求后,在HttpServletRequest 到达Servlet 之前,过滤器拦截客户的HttpServletRequest 。 

根据需要检查HttpServletRequest ,也可以修改HttpServletRequest 头和数据。 

在过滤器中调用doFilter方法,对请求放行。请求到达Servlet后,对请求进行处理并产生HttpServletResponse发送给客户端。

在HttpServletResponse 到达客户端之前,过滤器拦截HttpServletResponse 。 

根据需要检查HttpServletResponse ,可以修改HttpServletResponse 头和数据

最后,HttpServletResponse到达客户端。

4.Filter接口

Servlet API提供了一个Filter接口,编写的过滤器必须实现该接口。

以上是关于Introduction of Filter in Servlet的主要内容,如果未能解决你的问题,请参考以下文章

Introduction of Servlet Filter

Introduction of Generator in Python

Introduction of JSON Processing and binding in JavaEE

Analysis of sort() in STL

记录一些遇见的bug——项目启动报错Parameter 1 of constructor in com.example.filter.SimpleGlobalFilter required a bea

记录一些遇见的bug——项目启动报错Parameter 1 of constructor in com.example.filter.SimpleGlobalFilter required a bea