Java 将筛选器映射到Tomcat7中webapp的上下文根
我正在制作一个小的webapp(这可能被认为是一个uni任务)。我的工具是java7,tomcat7.0.40 我有一个过滤器,叫做FlowFilter。以下是web.xml中FlowFilter的定义和映射:Java 将筛选器映射到Tomcat7中webapp的上下文根,java,jsp,filter,servlet-3.0,Java,Jsp,Filter,Servlet 3.0,我正在制作一个小的webapp(这可能被认为是一个uni任务)。我的工具是java7,tomcat7.0.40 我有一个过滤器,叫做FlowFilter。以下是web.xml中FlowFilter的定义和映射: <filter> <filter-name>FlowFilter</filter-name> <filter-class>path.to.filter.FlowFilter</filter-class> <
<filter>
<filter-name>FlowFilter</filter-name>
<filter-class>path.to.filter.FlowFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>FlowFilter</filter-name>
<url-pattern></url-pattern>
<url-pattern>*.flow</url-pattern>
<url-pattern>*.request</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>ERROR</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
流动过滤器
path.to.filter.FlowFilter
流动过滤器
*.流动
*.请求
要求
向前地
错误
包括
我的webapp根目录位于:http://[host]/mywebapp
我还通过web.xml配置了一个欢迎文件:
<welcome-file-list>
<welcome-file>jsp/index.jsp</welcome-file>
</welcome-file-list>
jsp/index.jsp
从映射中可以看出,我需要FlowFilter在以下3种情况下准确执行:
谢谢。如果您已经定义了
此
应用筛选规则后,您可以删除
并自行重定向。并尝试使用/
来匹配上下文根
另请参见。谢谢您的回答。现在我明白它为什么失败了。遗憾的是,我以前读过这个错误和答案,但没有注意到。因此,让我再次澄清一下,当规范说:“当使用样式处理元素时,容器必须使用第12章“将请求映射到servlet”中定义的路径映射规则确定是否匹配请求URI,这隐含着过滤器模式只有在应用欢迎文件之后才应用,所以“”映射规则对过滤器不适用,对吗?正如我理解的Mark Thomas,规范在这里有点不清楚。我还没有读完整的说明书,所以我很难说真正的意图是什么;)从测试中我所知道的是,映射“”似乎适用于servlet,但不适用于过滤器。只要没有定义欢迎文件列表,映射“/”就适用于过滤器。谢谢,我想我理解你的观点。我想这对我来说是很清楚的,就像在这个例子中对你一样。另外,你应该知道webapp文件夹中的index.jsp或index.html文件:默认情况下,contaier会将它们标记为欢迎文件,并且它也会阻止过滤器工作。