gpt4 book ai didi

java - 什么对象可用于在 Web 应用程序到达 JSP 或 Servlet 之前拦截对 Web 应用程序的所有请求?

转载 作者:行者123 更新时间:2023-11-30 06:36:39 25 4
gpt4 key购买 nike

在 Web 应用程序到达 JSP 或 Servlet 之前,可以使用什么对象拦截所有请求?我认为答案可能是一个过滤器,但我不确定是否有更具体的答案。

最佳答案

过滤器是必经之路。您可以像 servlet 一样映射过滤器,以便它可以覆盖整个网站,或仅覆盖部分网站。

编辑评论-

是的,这正是您需要做的。过滤器是请求链的第一部分。好吧,在容器分派(dispatch)之后,但作为开发人员的您可以访问第一部分。

过滤器可以链接起来,每个过滤器都可以抢占请求链(因此永远不会命中任何后续的过滤器或 Servlet(JSP 是 Servlet)),它们可以沿着请求链向下进行,并且可以篡夺请求的结果链(也就是说,它们可以更改或拒绝更下方组件的输出。您可以将其视为装饰器模式的实现。

一些典型的过滤器包括安全过滤器(检查请求是否可以访问所需资源)、压缩过滤器、请求修改过滤器(例如,Apaches mod_rewrite 的功能已实现为过滤器)。过滤器可以完全替代实际的请求和响应对象(许多通过包装现有对象来实现),因此它们确实可以完全控制请求链,最终的 Servlet 或静态资源不知道过滤器在那里。

过滤器是 Servlet 堆栈的一个很棒的方面。

关于java - 什么对象可用于在 Web 应用程序到达 JSP 或 Servlet 之前拦截对 Web 应用程序的所有请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4632538/

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