Java 适用于所有Web应用程序的tomcat筛选器

Java 适用于所有Web应用程序的tomcat筛选器,java,tomcat,Java,Tomcat,问题:我想对所有Web应用程序进行筛选 我创建了一个过滤器,用于监视对ApacheTomcat服务器的请求 例如,它被称为MyFilter。我在netbeans中创建了它,它创建了两个独立的目录: webpages - contains: META-INF WEB-INF index.jsp (a file which i created for viewing monitored data) source packages my.package/MyFilte

问题:我想对所有Web应用程序进行筛选

我创建了一个过滤器,用于监视对ApacheTomcat服务器的请求

例如,它被称为MyFilter。我在netbeans中创建了它,它创建了两个独立的目录:

webpages - contains:
    META-INF
    WEB-INF
    index.jsp (a file which i created for viewing monitored data)

source packages
    my.package/MyFilter
同样,当我从netbeans执行它时,它会部署它并将我发送到

每当我在/MyFilter/somepath下查看页面时,它都会运行过滤器

我希望过滤器在所有路径上运行,而不仅仅是在webapp上运行

我需要在哪里找到项目文件?我需要哪些项目文件?我应该编辑conf/web.xml并添加过滤器吗?或者我应该只在特定webapp的web.xml中

编辑:

我将生成的.war文件复制到tomcat/webapps中

当我启动tomcat时,它会创建一个目录(tomcat/webapps/MyFilter/)

我将过滤器添加到tomcat/conf/web.xml中。当我启动它时,它无法加载://localhost:8080/但成功加载(和筛选器)://localhost:8080/MyFilter

根据定义,筛选器将仅在其定义的web应用程序中运行

您可以在Tomcat的
conf/
目录中的
web.xml
中定义它,以便默认情况下将其包含在部署到该Tomcat的所有web应用程序中(请注意,您还需要使filter类对所有web应用程序可用,可能需要将其放在Tomcat的
lib/
目录中)


或者,您可以实现一个,它在概念上类似于过滤器,但可以安装在Tomcat的引擎、主机或上下文上。

可能重复@BalusC,我知道阀门,但可以使用过滤器完成吗?是的。也许您只需要在Tomcat的
web.xml
中修复过滤器的URL模式?它被设置为/*,不应该用于所有请求吗?是的。也许你的问题是因为你根本没有一个webapp?筛选器仅在已部署的Web应用程序上运行。您询问如何为所有Web应用程序设置全局筛选器。谢谢,但就我而言,我必须使用筛选器实现它。我将它添加到web.xml,并在apache启动时加载,但它似乎仍然只对/MyFilter路径运行filter命令。顺便说一句,我在webapps/目录中找到了build/web/*。我遗漏了什么?您将它添加到了哪个
web.xml
?您的web应用程序中的哪一个?或者到Tomcat安装的
conf/
目录中的一个?两者都可以。我认为问题在于,在conf/web.xml中,我需要为过滤器指定不同的路径-class@Liorsolo:是否确保筛选器类实际位于所有应用程序的类路径上?您是否将其放入一个JAR(及其所有依赖项!)并将其放入Tomcats
lib/
?它生成一个war文件而不是JAR。tomcat的lib只包含jar