`
蒲冬英的约定
  • 浏览: 123147 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Filter 配置多个URL-PATTERN

阅读更多
最近做项目遇到一个Filter需要配置多个url-pattern,上网查了下资料,经测试,现总结下
一、完全错误的方式
<filter>
	<filter-name>authority</filter-name>
	<filter-class>com.util.AuthorityFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>authority</filter-name>
	<url-pattern>/pages/cmm/*;/pages/genbill/*</url-pattern>
</filter-mapping>

二、有一定作用,但不能实现需要的效果,只会过滤最下面配置的url-pattern。
<filter>
	<filter-name>authority</filter-name>
	<filter-class>com.util.AuthorityFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>authority</filter-name>
	<url-pattern>/pages/cmm/*</url-pattern>
       <url-pattern>/pages/genbill/*</url-pattern>
</filter-mapping>

三、现在给出正确的配置方式
<filter>
	<filter-name>authority</filter-name>
	<filter-class>com.util.AuthorityFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>authority</filter-name>
       <url-pattern>/pages/genbill/*</url-pattern>
</filter-mapping>
<filter-mapping>
	<filter-name>authority</filter-name>
	<url-pattern>/pages/cmm/*</url-pattern>
</filter-mapping>
分享到:
评论
8 楼 zzp1994114 2015-01-12  
不过文章确实存在误导
7 楼 zzp1994114 2015-01-12  
我用第二种方式解决了, 也先试了第一种方法,我真是笨的
6 楼 JustT0 2013-07-26  
多谢了,正好需要。
5 楼 wuwen_java 2013-06-19  
二、有一定作用,但不能实现需要的效果,只会过滤最下面配置的url-pattern。

这个不对把。 3楼是对的。

第二中方式也是可以的。
4 楼 javaliuliu 2013-06-17  
谢谢博主的分享,我用第三种方式解决了~

ps:
dsprint.cn(武汉印刷)
3 楼 missedname 2012-08-06  
本文章有误导.
单就"配置多个URL-PATTERN"来说,  第2,3种配置都是可以的.
servlet版本: 2.5+
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
引用

<xsd:complexType name="filter-mappingType">
    <xsd:annotation>
      <xsd:documentation>
      ......
      </xsd:documentation>
    </xsd:annotation>

    <xsd:sequence>
      <xsd:element name="filter-name"
   type="javaee:filter-nameType"/>
      <xsd:choice minOccurs="1" maxOccurs="unbounded">
<xsd:element name="url-pattern"
     type="javaee:url-patternType"/>
<xsd:element name="servlet-name"
     type="javaee:servlet-nameType"/>
      </xsd:choice>
      <xsd:element name="dispatcher"
   type="javaee:dispatcherType"
   minOccurs="0" maxOccurs="4"/>
    </xsd:sequence>
    <xsd:attribute name="id" type="xsd:ID"/>
  </xsd:complexType>
2 楼 javatomcat 2012-03-31  
多谢了,免了自己去测试...........
1 楼 ocaicai 2011-08-30  

	<filter>
		<filter-name>login-filter</filter-name>
		<filter-class>com.hydom.filter.LoginFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>login-filter</filter-name>
		<url-pattern>/person/*</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>login-filter</filter-name>
		<url-pattern>/userCenter/*</url-pattern>
	</filter-mapping>

多谢!

相关推荐

    JavaWeb Servlet中url-pattern的使用

    一个页面请求根据url-pattern只匹配一个最佳的Servlet,而根据web.xml的filter-mapping标签的先后顺序,将满足要求的一个或者多个过滤器生成一个FilterChain 2.url-pattern配置  配置web.xml文件,用于定义映射的...

    防止多用户登录同一帐号

    web.xml添加filter: &lt;filter&gt; &lt;filter-name&gt;SingleFilter&lt;/filter-name&gt; &lt;filter-class&gt;org.com.filter.SingleFilter&lt;/filter-class&gt; ... &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt;

    简单配置 shiro + spring +springMVC+hibernate简单框架

    如果有多个realm,使用‘realms’属性代替 --&gt; &lt;property name="realm" ref="authorizingRealm" /&gt; &lt;property name="cacheManager" ref="shiroCacheManager" /&gt; &lt;/bean&gt; 服务器 web.xml中配置 &lt;filter&gt; ...

    单点登录sso-shiro-cas-maven

    spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库生成语句,采用的...

    Spring MVC 入门实例

    你可以在 props 标签内配置多个 prop 标签. 我们将在后面编写 com.ideawu.HelloController 类. 上面, 我们在 web.xml 文件中告诉 ContextLoaderListener, 我们还有另外两个配置文件 /WEB-INF/database.xml 和 /...

    struts项目搭建

    &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; &lt;welcome-file-list&gt; &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt; &lt;/welcome-file-list&gt; &lt;login-config&gt; &lt;auth-method&gt;BASIC&lt;/auth-method&gt; &lt;/login-config&gt; ...

    jfinalpluginsjfinal-dreampie.zip

    https://github.com/Dreampie?tab=repositories 分割成多个独立的插件进行优化,可以看我的博客拆分优化情况 http://my.oschina.net/wangrenhui1990/blog demo:(Angularjs前端 jfinal-dreampie插件) ...

    超市管理系统

    (2)控制器使用Servlet分发请求控制,实现一个Servlet处理多个请求 (3)根据用户角色id,来判断是否显示哪些管理模块, 或者是否显示删除、增加和修改图标 (4)页面提取: 首页等页面的头部,左侧导航,底部 ...

    ssh(structs,spring,hibernate)框架中的上传下载

    如果有多个映射文件需要声明,使用类路径映射方式显然比直接单独指定映射文件名的方式要简便。  第27~30行定义了Spring代理Hibernate数据操作的HibernateTemplate模板,而第32~34行将该模板注入到tfileDAO中。  ...

    Spring Security-3.0.1中文官方文档(翻译版)

    4.3. 更多信息 II. 结构和实现 5. 技术概述 5.1. 运行环境 5.2. 核心组件 5.2.1. SecurityContextHolder, SecurityContext 和Authentication 对象 5.2.1.1. 获得当前用户的信息 5.2.2. ...

    Nginx安装包

    8 &lt;url-pattern&gt;/*&lt;/url-pattern&gt; 9 &lt;/filter-mapping&gt; 完成这一步以后,我们对redis的集成就完成了,接下来我们测试一下。 3.Session共享测试 为了完成测试,我先在IndexController中添加了两个简单方法,一个是...

    jpivot学习总结.doc

    primaryKeyTable 如果成员表不只一个,而是多个表通过 join 关系形成的,那么就要通过这个属性来指明 join 的这些表中,哪一个与 Dimension 里设置的 foreignKey 属性形成外键关系。通过该属性来指明主表 caption ...

    Spring Security 中文教程.pdf

    4.3. 更多信息 II. 结构和实现 5. 技术概述 5.1. 运行环境 5.2. 核心组件 5.2.1. SecurityContextHolder, SecurityContext 和 Authentication对象 5.2.1.1. 获得当前用户的信息 5.2.2. ...

    SpringSecurity 3.0.1.RELEASE.CHM

    4.3. 更多信息 II. 结构和实现 5. 技术概述 5.1. 运行环境 5.2. 核心组件 5.2.1. SecurityContextHolder, SecurityContext 和 Authentication对象 5.2.1.1. 获得当前用户的信息 5.2.2. UserDetailsService ...

    asp连接数据库代码实例

    --------如果是每行显示n个纪录结束----------------------------- (\"id\")%&gt; i=i+1 loop %&gt; response.write(\"共\"&rs.recordcount&\"条信息&nbsp;&nbsp;&nbsp;\") if page&lt;&gt;1 then response.write(\...

    asp.net知识库

    ADO.NET 2.0 大批量数据操作和多个动态的结果集 ADO.NET 2.0 异步处理 在ASP.NET中使用WINDOWS验证方式连接SQL SERVER数据库 改进ADO.Net数据库访问方式 ASP.NET 2.0 绑定高级技巧 简单实用的DataSet更新数据库的类+...

Global site tag (gtag.js) - Google Analytics