web.xml:<url-pattern>
web.xml 中的 <url-pattern> 是 <servlet-mapping> 或 <filter-mapping> 下的子标签。
url :http://localhost:8080/project/index 的组成:
http://localhost:8080 服务器地址。之后的为 RequestURI。
/project ServletConext的上下文地址,ServletContext Path。
/index Servlet的地址,Servlet Path,这部分是需要与<url-pattern>匹配的内容。
写法,只有以下四种写法:
- 精确路径:以
/开始,后面是具体路径,比如/index.do。 - 最长路径:以
/开始,以/*结束,比如/index/*, /*。 - 扩展名:以
*.开始,以 扩展名 结束,比如*.do。 - 默认:单独的
/。
映射规则:
- 精确路径。
<url-pattern>/index</url-pattern>
匹配:
http://localhost:8080/project/index
http://localhost:8080/project/index?name=admin
- 最长路径。
<url-pattern>/index/a/*</url-pattern>
匹配:
http://localhost:8080/project/index/a/action
该URL,如果没有第一个 url-pattern ,则可匹配:
<url-pattern>/index/*</url-pattern>
- 扩展名。
<url-pattern>*.do</url-pattern>
匹配:
http://localhost:8080/project/index/a.do
注意事项:
- 精确路径、最长路径、扩展名、默认,依次匹配,如果全部失败,返回 404.
<servlet>找到第一个,就停止之后的匹配;<filter>会根据<filter-mapping>定义顺序一直向下走。
web.xml:<url-pattern>的更多相关文章
- 手把手教你入门web.xml:吃透监听器
监听器的原理: 被监听对象→对象拥有的事件→捕获到事件变化→监听器捕捉事件→监听器处理该事件 Web服务器上有4个范围,抛开page范围,还有request范围,session范围,applicati ...
- web.xml:<dispatcher>
web.xml 的 <dispatcher> 是 <filter-mapping> 下的子标签,指定 Filter 对应的请求方式,其可选值如下: REQUEST 客户端在地址 ...
- cxf、struts、spring中web.xml过滤url问题解决方案
利用struts2自带的正则匹配,应该说这算是最官方的解决方案了 在struts.properties中加正则匹配 struts.action.excludePattern=/webservice/. ...
- Web开发:URL编码与解码(转)
原文:http://www.cnblogs.com/greatverve/archive/2011/12/12/URL-Encoding-Decoding.html 通常如果一样东西需要编码,说明这样 ...
- Web开发:URL编码与解码
通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字符会引起歧义. 例如Url参数字符串中使用key= ...
- Web.xml 定制URL
直接上xml里的代码: <!--声明有哪些Servlet--> <servlet> <servlet-name>Book</servlet-name> ...
- JavaWeb项目中web.xml有关servlet的基本配置
JavaWeb项目中web.xml有关servlet的基本配置: 我们注意到,tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的w ...
- TOMCAT web.xml 整理说明
JavaWeb项目中web.xml有关servlet的基本配置: 我们注意到,tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的w ...
- web.xml中url-pattern中/和/*的区别(来自网络)
其中/和/*的区别: < url-pattern > / </ url-pattern > 不会匹配到*.jsp,即:*.jsp不会进入spring的 Dispatcher ...
随机推荐
- 01-vue学习之前的准备
一.具备的基础知识 1.扎实的HTML/CSS/Javascript基本功,这是前置条件. 2.不要用任何的构建项目工具,只用最简单的<script>,把教程里的例子模仿一遍,理解用法.不 ...
- Linux安装配置vsftp搭建FTP的详细配置
这里主要是说vsftp的配置:基础的可以参考Linux中VSFTP的配置 转自:https://www.jb51.net/article/103904.htm 修改配置文件 配置文件/etc/vsft ...
- Python爬虫之正则表达式(3)
# re.sub # 替换字符串中每一个匹配的子串后返回替换后的字符串 import re content = 'Extra strings Hello 1234567 World_This is a ...
- css_选择器
老师的博客:https://www.cnblogs.com/liwenzhou/p/7999532.html 参考w3 school:http://www.w3school.com.cn/css/cs ...
- Java 8 新特性7-方法引用、继承
(原) 方法引用: 方法引用有4种: 1.静态方法引用:类名::静态方法名 在java中,对集合的排序,我们常用java提供的 Collections.sort(List<T> list, ...
- C# 使用DES对字符串进行加密
1.DES加密是属于对称加密,加密和解密使用的密钥必须要保持一致,且必须为8位,使用前首先添加引用: 2.逻辑实现代码如下:
- tiff图片拆分
本程序下载地址: tiff格式的图片可以由多张图片合成, 也可以拆分为多张图片.不管是合成或者拆分,都借助了第三方开源库Cximage,对于这个图像库的使用,我们没有必要去一行一行的去看它的代码实现, ...
- HTML页面全屏/退出全屏
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue router mode模式在webpack 打包上线问题
vue-router mode模式有两种 hash和history. 1.hash —— 即地址栏 URL 中的 # 符号.比如这个 URL:http://www.abc.com/#/hello,ha ...
- Jquery mobile动态生成ListView调用刷新方法报错
错误:cannot call methods on listview prior to initialization... 示例: <div data-role="page" ...