我在web.xml中的过滤器映射如下:
<filter>
<filter-name>LoginCheckFilter</filter-name>
<filter-class>com.tutorial.filter.LoginCheckFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginCheckFilter</filter-name>
<url-pattern>/admin*</url-pattern>
</filter-mapping>当我运行我的应用程序并点击http://localhost:8080/admin时,我的过滤器不会被执行。我不能理解为什么。
这个模式有什么问题吗?此外,如果我从模式中删除'*',那么过滤器将在命中上面的url时执行。
在这方面需要帮助。谢谢。
发布于 2012-06-14 06:00:45
规范(12.2段)说明如下:
在Web应用程序部署描述符中,使用以下语法定义映射:
http://host:port/<contextroot>/形式的请求。在这种情况下,路径信息是‘/’,servlet路径和上下文路径是空字符串(“”)。因此,除非模式以/*结尾或以*.开头,否则将按字面理解*
发布于 2012-06-14 05:54:31
使用/admin/*而不是/admin*。
Servlet容器不会将/admin*识别为正确的URL模式。
发布于 2012-06-14 05:55:11
也许可以试试:
<url-pattern>/admin/*</url-pattern>https://stackoverflow.com/questions/11023809
复制相似问题