程序中的过滤器:双向过滤器
在Java中最小的程序单元是类,程序中的过滤器就是一个特殊的类
Servlet/Filter是web的一个组件
-------------------------------------------------------------------------
web中过滤器的作用(简单理解为:过滤器在客户端和服务端资源之间)
过滤器可以对所有请求或者响应做拦截操作
1.以常规方式调用资源(servlet/jsp)
2.利用修改过的请求信息调用资源
3.调用资源后,但在响应到客户端,对响应做出修改
4.阻止当前资源调用,代之转到其他资源
--------------------------------------------------------------------------
过滤器在开发中的应用
1)可以对请求中的字符做编码
2)登录验证过滤器
3)敏感字(非法文字)过滤
4)做MVC框架中的前端处理器(处理所有请求共同的操作,再分发)
-------------------------------------------------------------------------
在开发中两个常用的思想:
1):DRY原则:Don't Repeat Yourself.
开发中拒绝代码重复,重复会带来巨大的维护成本
2):责任分离原则:各自做各自最擅长的事情
FilterChain(过滤器链):多个过滤器按照一定的顺序排列起来
程序中,存在多个过滤器的时候,过滤器的先后执行顺序由谁来决定?
由在web.xml中:配置的<filter-mapping>的先后顺序来决定