web.xml中url-pattern匹配规则.RP
一.url-pattern的三种写法
- 精确匹配。以"/"开头,加上servlet名称。
- /ad
- 路径匹配。以"/"开头,加上通配符"*"。
- /*
- 扩展名匹配。以通配符"*"开头,加上扩展名。
- *.action
二.servlet匹配规则
- 先精确匹配,再路径匹配。servlet-mapping1:<url-pattern>/ad</url-pattern>,servlet-mapping2:<url-pattern>/*</url-pattern>。当一个请求http://localhost:8080/ad来的时候,servlet-mapping1匹配到,不再用servlet-mapping2匹配。
- 路径匹配的时候,先最长路径匹配,再最短路径匹配。servlet-mapping1:<url-pattern>/ad/uplaod.jsp</url-pattern>,servlet-mapping2:<url-pattern>/ad/*</url-pattern>。当一个请求http://localhost:8080/ad/upload.jsp来的时候,servlet-mapping1匹配到,不再用servlet-mapping2匹配。
- 至于扩展名匹配,就是单独于精确匹配和匹配的一类了。struts2的扩展名就是.action,所以http://localhost:8080/ad.action会被servlet-mapping:<url-pattern>*.action</url-pattern>匹配到。
- 以上都找不到servlet,就用默认的servlet,配置为<url-pattern>/</url-pattern>。
三. filter匹配规则
- 顺着web.xml定义的filter顺序匹配,匹配到了就开始filter。
- 有几个就匹配几次filter几次。
- <filter>
- <filter-name>encodeFilter</filter-name>
- <filter-class>com.skylark.common.util.EncodeFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>encodeFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter>
- <filter-name>initSessionFilter</filter-name>
- <filter-class>com.skylark.service.servlet.InitSessionFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>initSessionFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
任何请求过来的时候,都会先encode,然后initSession。
文轉:http://zy19982004.iteye.com/blog/1751695
web.xml中url-pattern匹配规则.RP的更多相关文章
- web.xml中的url-pattern写法规则及匹配过程
servlet和filter在javaEE开发中很常用,因此有必要知道web.xml文件映射的规则 1. 写法 ①完全匹配:以“/”开头,以字母(非“*”)结束 如:<url-patte ...
- web.xml中的url-pattern映射规则
Servlet和filter是J2EE开发中常用的技术,使用方便,配置简单.servlet和filter中的url-pattern有一些文章在里面的,总结了一些东西,以免遇到问题又要浪费时间. 一,s ...
- web.xml的<url-parttern>的匹配规则
<url-parttern>顾名思义是对url(统一资源定位符)的一种匹配,是对“http:........."地址的匹配,但是会减去应用上下文,就是你的web程序的名字,如果你 ...
- djanjo中url路由匹配规则是啥意思
一,django路由匹配规则的本质是通过正则表达式对用户的url进行匹配. 1,r 是正则表达式中防止转义的符号,例如在python/n代表换行,加上r就不换行了. 2,$ 正则表达式中表示以什么什么 ...
- web.xml中url-pattern匹配规则
小知识 一般的URL组成 URL = 服务器地址 + RequestURI 例如URI:http://localhost:8080/practice/main [http://localhost:80 ...
- Web.xml中设置Servlet和Filter时的url-pattern匹配规则
一.servlet容器对url的匹配过程: 当一个请求发送到servlet容器的时候,容器先会将请求的url减去当前应用上下文的路径作为servlet的映射url,比如我访问的是http://loca ...
- 绝对路径${pageContext.request.contextPath}用法及其与web.xml中Servlet的url-pattern匹配过程
以系统的一个“添加商品”的功能为例加以说明,系统页面为add.jsp,如图一所示: 图一 添加商品界面 系统的代码目录结构及add.jsp代码如图二所示: 图二 系统的代码目录结构及add.js ...
- (转)绝对路径${pageContext.request.contextPath}用法及其与web.xml中Servlet的url-pattern匹配过程
以系统的一个“添加商品”的功能为例加以说明,系统页面为add.jsp,如图一所示: 图一 添加商品界面 系统的代码目录结构及add.jsp代码如图二所示: 图二 系统的代码目录结构及add.js ...
- 使用框架时,在web.xml中配置servlet时,拦截请求/和/*的区别。
关于servlet的拦截设置,之前看了好多,说的都不太清除,明白. 最近明白了一些,总的来说就是保证拦截所有用户请求的同时,放行静态资源. 现整理如下: 一.我们都知道在基于Spring的Applic ...
- java的web.xml中<url-pattern>配置[转]
<servlet-mapping> <servlet-name>downLoadFile</servlet-name> <url-pattern>*.l ...
随机推荐
- NOIP模拟题 斐波那契数列
题目大意 给定长度为$n$序列$A$,将它划分成尽可能少的若干部分,使得任意部分内两两之和均不为斐波那契数列中的某一项. 题解 不难发现$2\times 10^9$之内的斐波那契数不超过$50$个 先 ...
- Maven环境下多模块项目构建
Maven环境下多模块项目构建 一.新建项目 1.建立我们的父模块par 2.建立我们的子模块dao层 3.建立我们的子模块service层 4.建立我们的子模块web层 5.全部配置完成后,怎么把我 ...
- Scala 面向接口编程
1.如果要实现一个接口,前边没有extends关键字就可以使用extends,如果有要使用with关键字 2.Scala 中的接口支持多种继承,类或者抽象类不支持多种继承 3.抽象属性:未被实例化的属 ...
- 在C#中实现截获shell程序的输出
在Windows环境下的所谓shell程序就是dos命令行程序,比如VC的CL.exe命令行编译器,JDK的javac编译器,启动java程序用的java.exe都是标准的shell程序.截获一个sh ...
- Redis 分布式锁 - 分布式锁的正确实现方式
前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介 ...
- 第二篇 Mysql常用操作记录(转载)
我们在创建网站的时候,一般需要用到数据库.考虑到安全性,建议使用非root用户.常用命令如下: 1.新建用户 //登录MYSQL@>mysql -u root -p@>密码//创建用户my ...
- c# Chart 服务器端动态创建ChartArea
1 aspx <x:ContentPanel ShowBorder="true" ShowHeader="false" ID="ContentP ...
- mvn + idea jar包配置 错误记录
1.创建项目方法和步骤,网上一搜一大把 2.主要出现了一个配置上的错误,java_home的配置 发现idea和eclipse有一个地方配置不同,就是java_home,在eclipse中 mvn的配 ...
- Contiki学习笔记
http://blog.chinaunix.net/uid-9112803-id-2975824.html
- Jmeter 分布式压测及可能出现的问题;
(注:master与slave机的jmeter版本必须保持一致) master机器上的准备工作如下: 1.先准备一个调试通过的下单接口: 2.找到jmeter的bin目录下的jmeter.proper ...