过滤器

时间:2019-06-11
本文章向大家介绍过滤器,主要包括过滤器使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1:作用域
  ServletContext(上下文)
  HttpSession(会话)
  ServletRequest(请求)
   
   
  过滤器
  一个中间组件,用于拦截源数据和目的数据之间的消息
  过滤二者之间传递的数据
   
  驻留在Web服务器上的Web组件
  过滤从客户端传递到服务器端的请求和响应
  (在Web应用程序中部署过滤器,对客户端和目标资源来说都是透明的,他们并不需要知道过滤器的存在。
  )
  过滤器的一些常见应用:
  1:认证过滤:对用户请求进行统一的认证。
  2:登录和审核过滤:对用户的访问请求进行记录和审核。
  3:图像转换过滤:转换图像格式。
  4:数据压缩过滤 :对用户发生的数据进行压缩,从而减少传输量。
  5:加密过滤:对请求和响应进行加密解密处理。 https
   
  所有的过滤器必须实现javax.servlet.Filter接口
   
   
  在部署文件web.xml中添加过滤器的注册与映射
  <!—指定过滤器名和过滤器类-->
  <filter>
  <filter-name>HelloWorldFilter</filter-name>
  <filter-class>com.wode.HelloWorldFilter</filter-class>
  </filter>
  <!-- 将过滤器与URL模式关联-->
  <filter-mapping>
  <filter-name>HelloWorldFilter</filter-name>
  <url-pattern>/filter/*</url-pattern>
  </filter-mapping>
   
   
   
  doFilter(ServletRequest, ServletResponse)
  我们从一个过滤器对象的doFilter()方法中调用此方法,以继续过滤器链的传递过程。它会将控制转到链中的下一个组件。
   
   
  过滤器链
  <filter-mapping>
  <filter-name>FilterA</filter-name>
  <servlet-name>AServlet</servlet-name>
  </filter-mapping>
  <filter-mapping>
  <filter-name>FilterB</filter-name>
  <url-pattern>*.test</url-pattern>
  </filter-mapping>
  <servlet-mapping>
  <servlet-name>FilterC</servlet-name>
  <url-pattern>*.test</url-pattern>
  </servlet-mapping>

原文地址:https://www.cnblogs.com/heqi-linxin1314/p/11004135.html