Servlet过滤器
上一节
下一节
引言:在现实生活中,自来水都是经过一层层的过滤处理才达到食用标准的,每一层过滤都起到一种净化的作用。Java Web中的Servlet过滤器与自来水被过滤的原理相似,Servlet过滤器主要用于对客户端(浏览器)的请求进行过滤处理,然后将过滤后的请求转交给下一资源,它在Java Web开发中具有十分重要的作用。
什么是过滤器?
Servlet过滤器其实就是一种小型的、可插入的Java组件,它能够对Servlet容器的请求和响应进行拦截和处理,如字符编码,安全控制等,但是不能生成请求和响应。
Servlet过滤器介于与之相关的Servlet或JSP页面与客户端之间,其工作原理:当某个资源与Servlet过滤器关联后,对该资源的所有请求都会经过Servlet过滤器,Servlet过滤器在Servlet被调用之前会检查请求对象(request对象),并决定是将请求转发给过滤器链中的下一个资源还是中止该请求并响应用户。若请求被转发给过滤器链中的下一个资源处理后,Servlet过滤器会检查响应对象(response对象),进行处理后返回给用户。
Filter的工作原理图:


