Servlet中Filter的简单介绍

        Filter 可认为是 Servlet 的一种 “ 加强版“,它主要用于对用户请求进行预处理,也可以对 HttpServletResponse 进行后处理,是个典型的处理链。 Filter 也可对用户请求生成响应,这一点与 Servlet相同但实际上很少会使用 Filter 向用户请求生成响应。 使用 Filter 完整的流程是Filter 对用户请求进行预处理, 接着将请求交给 Servlet 进行处理并生成响应, 最后 Filter 再对服务器进行后处理。
        Filter 有如下几个用处:
  • 在 HttpServletRequest 到达 Servlet 之前,拦截客户的 HttpServletRequest。
  • 根据需要检查 HttpServletRequest,也可以修改 HttpServletRequest 头和数据。
  • 在 HttpServletResponse 到达客户端之前,拦截 HttpServletResponse。
  • 根据需要检查 HttpServletResponse,也可以修改 HttpServletResponse 头和数据。
        Filter 有如下几个种类:
  • 用户授权的 Filter: Filter 负责检查用户请求, 根据请求过滤用户非法请求。
  • 日志 Filter:详细记录某些特殊的用户请求。
  • 负责解码的 Filter:包括对非标准编码的请求解码。
  • 能改变 XML 内容的 XSLT Filter 等。
  • Filter 可负责拦截多个请求或响应;一个请求或响应也可被多个 Filter 拦截。
        创建一个 Filter 只需两个步骤:
  1. 创建 Filter 处理类。
  2. web.xml 文件中配置 Filter。
发布了185 篇原创文章 · 获赞 38 · 访问量 38万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章