Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 所有.html url的url映射,包括带有查询参数的url_Java_Servlet Filters_Url Mapping - Fatal编程技术网

Java 所有.html url的url映射,包括带有查询参数的url

Java 所有.html url的url映射,包括带有查询参数的url,java,servlet-filters,url-mapping,Java,Servlet Filters,Url Mapping,我正在尝试编写一个过滤器,该过滤器将挑选任何对HTML页面的请求,而不管URL是否具有查询参数。(此筛选器的目的是跟踪访客操作/统计信息) 这是我在web.xml中的过滤器映射: <filter-mapping> <filter-name>statTrackingFilter</filter-name> <url-pattern>*.html</url-pattern> </filter-mapping>

我正在尝试编写一个过滤器,该过滤器将挑选任何对HTML页面的请求,而不管URL是否具有查询参数。(此筛选器的目的是跟踪访客操作/统计信息)

这是我在web.xml中的过滤器映射:

<filter-mapping>
    <filter-name>statTrackingFilter</filter-name>
    <url-pattern>*.html</url-pattern>
</filter-mapping>

静态跟踪滤波器
*.html
该url模式将匹配以“.html”结尾的页面请求,但我也希望使用查询参数捕获请求

我尝试了以下配置,但与任何请求都不匹配:

<filter-mapping>
    <filter-name>statTrackingFilter</filter-name>
    <url-pattern>*.html*</url-pattern>
</filter-mapping>

静态跟踪滤波器
*.html*
如何配置筛选器以捕获任何HTML页面的所有请求

还是我走错了方向?我应该让我的过滤器监听所有请求并让过滤器决定请求的URL是否重要吗?我想忽略所有CSS、JS和图像请求

多谢各位


编辑:
*.html
确实在工作。我认为这不是因为我的log4j阈值设置得太高而忽略了过滤器中的日志。

模式无法工作,因为它只匹配扩展名为“.html*”的文件

发件人:

URL模式使用非常简单的语法。模式中的每个字符必须与URL路径中的对应字符完全匹配,但有两个例外。在模式的末尾,/*匹配从该点开始的任何字符序列。模式*.extension与任何以扩展名结尾的文件名匹配。不支持其他通配符,模式中任何其他位置的星号都不是通配符


我相信您第一次使用
*.html
的配置是正确的,并且应该在最后捕获带有查询参数的请求(对我来说似乎是这样)。

您是正确的,
*.html
模式确实是正确的,并且拾取了我要查找的所有内容。我认为它丢失了请求,因为我的日志阈值太高,我正在从我的过滤器中查找日志以检查它是否工作,但它们被屏蔽了。哦!