gpt4 book ai didi

java - 为什么要为除 REQUEST 之外的 DispatcherType 编写 servlet 过滤器?

转载 作者:行者123 更新时间:2023-11-30 05:31:24 27 4
gpt4 key购买 nike

我见过很多 servlet 过滤器,它们可以做各种各样的事情,但总是根据请求而不做其他事情。有没有人有任何用例或示例来说明为什么为除 REQUEST 之外的其他调度程序类型编写 servlet 过滤器可能有用?

javax.servlet 包中的 DispatcherTypes。

public enum DispatcherType {
FORWARD, INCLUDE, REQUEST, ASYNC, ERROR
}

最佳答案

嗯,这些名字是不言自明的。 REQUEST 确实是最常用的一种,它应用于传入的请求链。此时您可能需要使用其他过滤器(因为不会应用仅请求调度的过滤器):

  • FORWARD - 如果您想在一个 servlet 将请求转发到另一个 servlet 时过滤请求/响应。当 servlet 转发到 JSP 页面时,通常会使用此方法。
  • INCLUDE - 如果您想在一个 servlet 调用另一个 servlet 时过滤请求/响应,以便将其响应包含在自己的响应中。当 JSP 页面包含 JSP 页面时,通常会使用此选项。
  • ASYNC - 这是我个人从未使用过的东西,但据我所知,它需要能够过滤 Servlet 3 规范中引入的异步请求
  • ERROR - 如果您想在 servlet 调用导致错误时过滤请求/响应。

参见https://sling.apache.org/documentation/the-sling-engine/filters.html#filter-chains了解更多详细信息。

关于java - 为什么要为除 REQUEST 之外的 DispatcherType 编写 servlet 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57462214/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com