gpt4 book ai didi

java - 为什么在 Struts1 中有 Servlet 而在 Struts2 中有过滤器

转载 作者:行者123 更新时间:2023-12-04 05:46:46 24 4
gpt4 key购买 nike

前端 Controller 是一个 Servlet,但在 Struts2 中,它是一个过滤器。将其更改为过滤器的可能原因是什么?

最佳答案

(这是意见,您需要询问原始 WebWork 作者。)

IMO 将请求包装在过滤器中更直观,因为这就是过滤器的设计目的。

关于从过滤器提供资源的有效性一直存在争论。规范指出:

Filters do not generally create a response or respond to a request as servlets do, rather they modify or adapt the requests for a resource, and modify or adapt responses from a resource.



有些人声称(特别是一些 WebSphere 支持票,偶尔我自己在 email thread on the Struts User mailing list 期间重新阅读规范之前)声称规范不允许使用 Struts 2 的过滤器,但很明显没有任何东西禁止以这种方式使用它们。

通过使用 <dispatch>,过滤器可以更灵活地处理其他类型的请求(转发、包含和容器错误)。下元素 <filter>配置。

请注意,最初它是 WebWork 中的一个 servlet——您可以查看提交日志以在发生更改时找出原因,但那是很久以前的事,大约 7 年多。

关于java - 为什么在 Struts1 中有 Servlet 而在 Struts2 中有过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10582155/

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