繁体   English   中英

在到达Web应用程序的所有请求到达JSP或Servlet之前,可以使用哪个对象来拦截它们?

[英]What object can be used to intercept all requests to a web application before they reach the JSP or Servlet?

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

过滤器是必经之路。 您可以映射一个类似于Servlet的过滤器,以便它可以覆盖整个网站或仅覆盖部分网站。

编辑评论-

是的,这几乎就是您需要做的。 过滤器是请求链的第一部分。 好了,在通过容器分派之后,但是作为开发人员的第一部分您可以访问。

过滤器可以被链接起来,每个过滤器可以抢占请求链(因此再也不会碰到任何后来的过滤器或Servlet(JSP是Servlet),它们可以沿着请求链向下移动,并且可以篡改请求链的结果它们可以更改或拒绝更远的组件的输出。您可以将其视为Decorator模式的实现。

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

过滤器是Servlet堆栈的一个绝妙方面。

过滤器是将所有请求路由到jsp / servlet的最佳方法,

用法:1.检查用户是否具有有效的会话。 2.向请求添加属性。 3.在文件下载的情况下压缩输出流。 4.提出请求,即商务分析师经常访问的页面。

是过滤器是正确的答案。 只需添加一个MVC设计模式,就可以使用控制器servlet完成类似的事情。 哪个先处理所有请求,然后再移动到其他地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM