最近做项目遇到一个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>
+
+
+
——
——
——
相关推荐
- Filter的匹配规则与Servlet类似,但不同的是,Filter可以匹配多个Servlet。Filter的执行顺序取决于它们在`web.xml`中的定义顺序。每个匹配的Filter都会按照顺序依次执行,然后才到达目标Servlet。 7. **URL的...
如果你在配置或使用`url-pattern`时遇到问题,可以查阅更多文档,或者在相关论坛上提问,与其他开发者交流讨论,共同解决问题。希望这篇文章能对你理解和使用JavaWeb Servlet的`url-pattern`有所帮助,感谢你的阅读...
这篇博客“超级注意复杂整合环境中的Filter-Mapping的顺序--配置单点登陆及UrlRewrite有感”深入探讨了如何在这样的环境中正确配置Filter和Mapping,以实现单点登录(Single Sign-On, SSO)以及URL重写。下面我们将...
如果需要过滤多种类型的文件,可以添加多个`<filter-mapping>`,每种类型对应一个。 3. 过滤指定目录: 要过滤特定目录下的所有资源,可以使用`/folder_name/*`这样的模式。例如,过滤名为`folder_name`目录下...
- `cors-filter-2.5.jar`和`cors-filter-2.10.jar`可能包含了更多的功能和优化,比如对复杂请求的支持,更灵活的配置选项,以及对新HTTP标准的兼容性。 总之,CORS过滤器是Tomcat中解决跨域问题的一个重要工具,...
- **国际化**:通过配置`struts.i18n.encoding`设置编码格式,并编写资源文件实现多语言支持。 - **异常处理**:可以通过配置`<exception>`标签来捕获和处理特定的异常。 以上就是关于Struts2框架搭建及配置的相关...
-- 可以有多个url-pattern,也可以配置servlet-name --> </filter-mapping> ``` 在上述配置中,`<filter-name>`是Filter的标识符,`<filter-class>`指定Filter的全限定类名。`<init-param>`用于传递初始化参数。`...
<url-pattern>/*</url-pattern> </filter-mapping> ``` 在这个例子中,`cors.filter`类是CORSFilter的全限定类名,`cors.allowGenericHttpRequests`参数允许非简单请求,`cors.allowOrigin`参数设置允许的源,星号...
1. **条件组合**:通过`<if>`、`<and>`、`<or>`标签,可以组合多个条件。 2. **正则表达式**:在`<from>`和`<to>`中使用正则表达式,实现更复杂的URL匹配和替换。 3. **自定义变量**:通过`<set>`标签设置和引用...
在Web开发中,跨域(Cross-Origin Resource Sharing, CORS)是一个关键的概念,它涉及到浏览器的安全策略,限制了JavaScript从一个源获取资源到另...正确实施后,可以确保多个源的网页能够安全地与我们的服务进行交互。
Filter链则是多个Filter协同工作,按照预设顺序对请求进行处理的概念。下面我们将详细讨论Filter链的工作原理、配置以及其实现方式。 首先,理解Filter链的基本概念。当用户通过浏览器发起请求到Web服务器时,这些...
`<filter-mapping>`则定义了Filter的映射规则,`<url-pattern>`元素指定了哪些URL请求需要经过这个Filter。 为了使统计持久化,我们可以将访问计数器保存在数据库或文件中,以便在服务器重启后仍能保留统计数据。...
FilterChain代表过滤器链,用于协调多个Filter的执行顺序。当一个请求通过Filter时,会按照定义的顺序逐个调用下一个Filter的`doFilter()`方法,直到请求被完全处理或者被某个Filter拦截。 **五、Filter的拦截路径...
通过`contextConfigLocation`参数指定多个XML配置文件路径,其中`classpath*:`表示从类路径下的指定目录中加载所有符合通配符规则的XML文件。这样,Spring容器在启动时会自动加载这些配置文件并初始化。 #### 三、...
总的来说,这两个jar包在Tomcat服务器上协同工作,`cors-filter-1.7.jar`确保了跨域请求的安全和有效性,而`java-util-1.9.1.jar`则为开发者提供了更多的编程便利性。在实际项目中,正确配置和使用这些工具能显著...
<url-pattern>/*</url-pattern> </filter-mapping> ``` 以上配置允许所有来源的请求,并且支持多种HTTP方法。当然,这只是一个基础示例,实际生产环境中需要根据安全性和需求进行更具体的配置。 总结来说,"cors-...
- `<context-param>`定义了Spring配置文件的位置,这里使用通配符`*`来匹配多个配置文件。 **2. 字符编码过滤器** 为了确保Web应用中数据的一致性和正确性,还需要配置字符编码过滤器。 ```xml <!--Spring字符...
<url-pattern>/*</url-pattern> </filter-mapping> ``` 在上述示例中,`cors.allowed.origins`配置项设置为`*`,表示允许任何源进行跨域请求。你可以根据实际需求替换为具体的源地址,如`http://example.com`。 ...
web.xml添加filter: <filter> <filter-name>SingleFilter</filter-name> <filter-class>org.com.filter.SingleFilter</filter-class> ... <url-pattern>/*</url-pattern> </filter-mapping>