【问题标题】:Can we use Filter instead of Servlet?我们可以使用过滤器代替 Servlet 吗?
【发布时间】:2013-09-04 17:32:10
【问题描述】:

我们可以使用过滤器代替 Servlet 吗?过滤器(不使用 servlet)能否处理传入请求?

【问题讨论】:

    标签: servlets filter


    【解决方案1】:

    过滤器用于修改请求或响应的标头和/或内容。我从未见过它们用于创建响应本身,我认为它们不能用于此,因为它们需要与实际资源“链接”。来自Java EE 6 tutorial

    过滤器是一个可以转换标题和内容的对象(或 两者)的请求或响应。过滤器与 Web 组件的不同之处在于 过滤器通常不会自己产生响应。相反,一个 过滤器提供可以“附加”到任何类型的功能 网络资源。

    【讨论】:

      【解决方案2】:

      过滤器有广泛的用途; Servlet 2.3 规范建议以下用途:

      • 身份验证过滤器
      • 日志记录和审核过滤器
      • 图像转换滤镜
      • 数据压缩过滤器
      • 加密过滤器
      • 标记过滤器
      • 触发资源访问事件的过滤器
      • 转换 XML 内容的 XSL/T 过滤器
      • MIME 类型的链式过滤器

      如果您想根据特定条件过滤和/或修改请求,请使用Filter
      如果您想控制、预处理和/或后处理请求,请使用Servlet

      过滤器最适合授权,因为它可以配置为针对站点的所有页面运行。因此,您只需要一个过滤器来保护您的所有页面。

      有用的链接:

      1. filter tutorial
      2. filter in detail
      3. referred answer

      【讨论】:

        猜你喜欢
        • 2018-07-17
        • 1970-01-01
        • 2011-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-31
        • 2020-01-05
        • 2021-04-27
        相关资源
        最近更新 更多