Java 所有Web应用程序的全局筛选器

Java 所有Web应用程序的全局筛选器,java,web-applications,jakarta-ee,websphere,Java,Web Applications,Jakarta Ee,Websphere,在J2EE应用程序中,如何创建可以访问该应用程序服务器上安装的其他Web应用程序的全局筛选器?无法以独立于容器/平台的方式进行此操作。您的J2EE容器可能会为您提供钩子来实现这一点。Servlet API没有提供这样的安全漏洞。但有些容器提供类似的服务。看看ApacheTomcat的配置。也许WebSphere也有类似的功能,但通常需要聘请ibm顾问来“查找”配置。一些应用程序服务器/servlet容器(Tomcat、JBoss)提供了跨上下文功能。它确实取决于您在其中运行应用程序的内容,但是,

在J2EE应用程序中,如何创建可以访问该应用程序服务器上安装的其他Web应用程序的全局筛选器?

无法以独立于容器/平台的方式进行此操作。您的J2EE容器可能会为您提供钩子来实现这一点。

Servlet API没有提供这样的安全漏洞。但有些容器提供类似的服务。看看ApacheTomcat的
配置。也许WebSphere也有类似的功能,但通常需要聘请ibm顾问来“查找”配置。

一些应用程序服务器/servlet容器(Tomcat、JBoss)提供了跨上下文功能。它确实取决于您在其中运行应用程序的内容,但是,它不是J2EE特性

我不确定这是否能帮你做你想做的事。具体是什么?:)

再看看这个回答:

这对我很有效:


很抱歉,无法对您的问题发表评论。没有足够的“分数”。

如果有人仍然感兴趣,以下是我关于这个问题的发现:

  • 对于tomcat和其他源于它的webapp服务器(例如:JBoss),您可以将过滤器添加到“global”web.xml,通常位于$tomcat_HOME/conf/web.xml下

  • 对于Websphere,我发现以下文章很有用:。在本例中,基本思想是编写一个ServletContext侦听器,并使用它将过滤器附加到应用程序


  • 与JBoss一样,Websphere也在幕后使用Tomcat,如果我正确地回忆起我生锈的Websphere体验,非常类似的
    crossContext
    设置仅在Websphere上可用。通过这种方式,您可以创建一个在ROOT上运行的webapp,并在
    /*
    上运行过滤器。但同样,这是理论,我不能从自己的经验证实这一点。或者,您可以在appserver自己的
    web.xml
    中声明过滤器+1表示不考虑提示:)