【发布时间】:2011-12-10 03:33:02
【问题描述】:
问题:我想对所有 webapp 进行过滤。
我创建了一个过滤器来监控对 apache tomcat 服务器的请求。
为了举例,它被称为 MyFilter。我在 netbeans 中创建了它,它创建了 2 个单独的目录:
webpages - contains:
META-INF
WEB-INF
index.jsp (a file which i created for viewing monitored data)
source packages
my.package/MyFilter
当我从 netbeans 执行它时,它会部署它并将我发送到 http://localhost:8080/MyFilter
每当我查看 /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
【问题讨论】:
-
@BalusC,我知道阀门,但可以用过滤器完成吗?
-
是的。也许您只需要在 Tomcat 的
web.xml中修复过滤器的 URL 模式? -
设置为 /* ,不应该是所有请求吗?
-
是的。也许您的问题是因为您根本没有在 ROOT 上安装 webapp?过滤器仅在已部署的 Web 应用上运行。您问如何为 all webapps 设置全局过滤器。