【发布时间】:2013-07-24 04:20:10
【问题描述】:
当我声明这样的过滤器映射时:
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
当我浏览 http://localhost:8080/myApp/pages/test.action 时它可以工作
但如果我这样声明:
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/pages/*</url-pattern>
</filter-mapping>
它不起作用,我验证我的上下文路径是myApp
我的应用部署在 JBOSS 5.1 上
我希望有人能告诉我出了什么问题 提前致谢
编辑: 我所有的过滤器映射:
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>requestInfo</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>HeaderFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/pages/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/pages/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
【问题讨论】:
-
你在说什么应用服务器或servlet容器?
-
我的应用部署在JBOSS 5.1上
-
web.xml 上声明了其他过滤器吗?
-
是的,还有其他的。但没有 /pages/* 模式
-
你能粘贴其他过滤器吗?
标签: java jakarta-ee servlet-filters web.xml url-pattern