什么是过滤器?
过滤器:从字面上看,可以理解为将具有杂质的水过滤,留下干净的水。那么从IT的角度上理解。过滤器:是处在源数据(数据库之类的)和目标数据(显示页面)的中间组件。对于Web应用来说,过滤器是驻留在服务器上的Web组件,它可以截取客户端和资源之间的请求和响应信息,并对这些信息进行过滤。
当Web容器(服务器)接收到一个对资源数据的请求时,它会判断过滤器和这个请求是不是有关联,如果有,它将这个请求交给过滤器处理,然后在过滤器中,你可以改变请求的内容,然后再将请求给目标资源。
[请求—>Web容器—>过滤器—>目标资源]
当目标资源对请求作出响应时,Web容器同样会向转发给过滤器,在过滤器你可以对响应的内容进行改变,然后再发送给显示页面。
[目标资源—>Web容器—>过滤器—>显示页面]
过滤器的生命周期
过滤器的生命周期与web容器相同,当web容器启动时,就会读取应用的web.xml配置文件,如果这里配置了过滤器,容器就会执行实例化,并调用过滤器的init方法。
之后用户的每一次请求都会执行过滤器的doFilter方法。
当web容器销毁时,就会执行destroy方法,释放资源。
用户身份认证、对用户请求进行记录和审核、对用户发送的数据进行替换和过滤、转换图像格式、对响应内容压缩、加密请求或响应等等。
时间: 2024-11-05 06:02:08