web.xml url-pattern 写法
1 三种写法
① 完全匹配
<url-pattern>/test/list.do</url-pattern>
② 目录匹配
<url-pattern>/test/*</url-pattern>
③ 扩展名匹配
<url-pattern>*.do</url-pattern>
2 注意事项
☆ 容器会首先查找完全匹配,如果找不到,再查找目录匹配,如果也找不到,就查找扩展名匹配。
☆ 如果一个请求匹配多个“目录匹配”,容器会选择最长的匹配。
☆ 定义”/*.action”这样一个看起来很正常的匹配会报错?因为这个匹配即属于路径映射,也属于扩展映射,导致容器无法判断。
☆ “/” 是用来定义default servlet映射的。
3 我的一个需求
我想定义一个除了一种情况的所有url-pattern,比如除了 *.jsp的所有情况
似乎找不到一种 all but ×××的写法
但似乎可以用下面这种方法:
filter>
<filter-name>IPMonitorFilter</filter-name>
<filter-class>
com.test.IPMonitorFilter
</filter-class>
<init-param>
<param-name>allowedIP</param-name>
<param-value>127.0.0.1</param-value>
</init-param>
<init-param>
<param-name>on_off</param-name>
<param-value>N</param-value>
</init-param>
<init-param>
<param-name>UrlRegx</param-name>
<param-value><!--你的正则表达式--></param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>IPMonitorFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如上面得配置,我可以定义urlRegx来进行二次过滤,第一次把全部都放进来
分享到:
相关推荐
### URL-Pattern的三种写法详解 在Web应用开发中,`web.xml`配置文件扮演着极其重要的角色,其中`<url-pattern>`元素用于定义Servlet的映射规则,即URL模式。通过不同的URL模式,我们可以精确地控制Servlet如何被...
在Web应用程序的部署描述符(web.xml)中,我们通过URL-Pattern来定义Servlet的访问路径,使得当用户通过特定URL发起请求时,服务器知道应该调用哪个Servlet来处理。 在`web.xml`文件中,URL-Pattern的配置方式通常...
**前端开源库-url-pattern**是专门用于处理URL模式匹配的工具,它提供了一种更为直观且易用的方式,相比正则表达式(regex)在处理URL字符串时更加简便。这个库的主要目标是帮助开发者轻松地解析、验证以及构建URL,...
本文将深入解析`url-pattern`的用法以及其在处理请求路径时的角色。 首先,了解请求路径处理的过程至关重要。例如,当用户访问`http://teacher:8080/ee/servlet/HelloServlet`时,服务器首先会识别出上下文路径(`/...
- 在`<url-pattern>`中指定的URL必须与请求的URL完全一致才能匹配。例如,如果配置如下: ```xml <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/kata/detail.html</url-pattern> ...
`url-pattern`是Servlet在`web.xml`配置文件中的关键元素,它定义了Servlet如何响应特定的URL请求。本篇文章将深入探讨`url-pattern`的使用及其背后的匹配规则。 首先,我们需要了解Servlet和Filter的`url-pattern`...
在 SpringMVC 框架中,url-pattern 配置主要有三种方式: 1. 带后缀方式:例如 *.action、*.do、*.aaa 等,这种方式比较精确、方便,在以前和现在企业中都有很大的使用比例。 2. 不带后缀方式:例如 /,这种方式...
当设置`<url-pattern>/</url-pattern>`时,Servlet将捕获所有不被其他更具体`url-pattern`处理的请求。这通常用于设置一个默认Servlet,处理静态资源或者提供应用程序的主页。 总结来说,正确配置Servlet的`url-...
BEM(Block Element Modifier)是一种流行的前端开发方法论,它为CSS类名提供了一套结构化和模块化的命名规则。BEM的核心理念是将页面拆分成独立的、可重用的组件,每个组件有自己的命名空间,由三部分组成:Block...
这是最直观的匹配方式,`<url-pattern>`中的配置必须与请求的URL完全相同。例如,如果你有如下配置: ``` <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/user/users....
`url-pattern` 的设置直接影响了应用程序如何响应用户的请求,以及静态资源(如图片、CSS、JS)的处理方式。 1. **匹配指定扩展名的url-pattern** 当我们设置 `url-pattern` 为 `.html` 时,例如 `<url-pattern>....
从压缩包`route-pattern-master`中,你可以查看源代码,了解其实现细节。这有助于理解其内部工作原理,甚至对其进行扩展或定制以满足特殊需求。 总的来说,`route-pattern`为前端开发者提供了一种高效、灵活的路由...
Factory Method Pattern 工厂三兄弟之工厂方法模式(一) 工厂三兄弟之工厂方法模式(二) 工厂三兄弟之工厂方法模式(三) 工厂三兄弟之工厂方法模式(四) 抽象工厂模式-Abstract Factory Pattern 工厂三兄弟之...
<url-pattern>/*</url-pattern> <http-method>PUT</http-method> <http-method>DELETE</http-method> <http-method>HEAD</http-method> <http-method>OPTIONS</http-method> <http-method>TRACE</http-method>...
1、新建web项目,添加struts功能,配置struts.xml: ... <url-pattern>*.action</url-pattern> <url-pattern>*.jsp</url-pattern> </filter-mapping> 2、添加hibernate功能 3、添加Spring功能
在本文中,我们将深入探讨Laravel开发中的一个重要工具——`laravel-pattern-generator`。这个工具是专门为PHP Laravel框架设计的,旨在帮助开发者更高效地创建和管理应用中的各种设计模式。通过对`laravel-pattern-...
简单易用的gzip包,工程中引入tk-filters.... <url-pattern>*.js</url-pattern> </filter-mapping> <filter-mapping> <filter-name>GZIPFilter</filter-name> <url-pattern>*.css</url-pattern> </filter-mapping>