`

Servlet映射的匹配原则,优先级

 
阅读更多

一个元素用于映射一个已经注册的Servlet的一个对外访问路径,它包含有两个子元素:和分别用于指定Servlet的注册名称和Servlet的对外访问路径。 Name /hello/hello.html Servlet的对外访问路径的/可以用*通配符替换它有两种规定的格式 a. *.扩展名 匹配.do结尾的URL b. /action/* 表示当前程序下子路径下所有URL 下面归纳了几种映射关系

1./abc/* ------1

2./* ------2

3./abc ------3

4.*.do ------4

注意:*.do的优先级最低

通过归纳的映射关系我们可以总结以下的一些行为

当请求URL为"/abc/a.html"时,"/abc/*"和"/*"都可以匹配这个URL 则Servlet引擎将调用1

当请求URL为"/abc"时,"/abc/*"和"/abc"都可以匹配这个URL 则Servlet引擎将调用3

当请求URL为"/abc/a.do"时,"/abc/*"和"/*.do"都可以匹配这个URL 则Servlet引擎将调用1

当请求URL为"/a.do"时,"/*"和"/*.do"都可以匹配这个URL 则Servlet引擎将调用2

分享到:
评论

相关推荐

    Servlet文檔

    如果URL与多个Servlet映射匹配,容器会依据配置的映射优先级分配请求。 5. **Servlet生命周期管理**: - Servlet容器负责管理Servlet的生命周期,包括初始化(`init()`方法)、服务请求(`service()`方法)、销毁...

    Java Servlet帮助文档

    通过web.xml或注解,可以配置Servlet的初始化参数、加载优先级以及URL路径映射。映射规则可以是路径匹配,如“/example/*”,也可以是扩展名匹配,如 "*.do"。 九、过滤器 Servlet API还提供了Filter接口,允许在...

    servlet原理

    映射优先级遵循以下原则: - 最匹配的 URL 被优先调用。 - 以文件扩展名结尾的通配符优先级最低。 #### Servlet 生命周期 Servlet 的生命周期主要包括四个阶段:构造、初始化、服务和销毁。 1. 构造方法:每个 ...

    Servlet3.1规范(最终版).pdf

    还有,Servlet3.1规范改进了URL路径映射,允许更加灵活的路径匹配。例如,可以使用`@WebServlet("/myPath/*")`来匹配所有以"/myPath/"开头的URL,这简化了路由规则的设定。 总之,Servlet3.1规范带来了许多创新和...

    servlet的url-pattern匹配规则详细描述(小结)

    - 这是最通用的匹配,将匹配所有请求,但在实际应用中通常用于处理未明确映射的请求,或作为其他更具体规则的默认处理。 5. **优先级规则** - URL-Pattern的匹配顺序是根据它们在`web.xml`文件中出现的顺序决定的...

    tomcat关于配置servlet的url-pattern的问题思路详解

    本篇文章将深入探讨Servlet的URL映射问题,包括URL模式的匹配规则、`/`与`/*`的区别以及优先级问题。 1. **Servlet URL-Pattern 的匹配问题** - **精确匹配**:`<url-pattern>`中配置的路径必须与请求URL完全一致...

    SCWCD学习笔记(Head First Servlets & JSP)

    在Servlet映射路径匹配中,优先级顺序为:完全匹配的URL、最长匹配的URL、匹配的扩展名。实现SingleThreadModel接口的Servlet,每个请求都会创建一个新的Servlet实例。会话属性可以在同一ServletContext内的servlet...

    基于框架的Web开发-urlpattern.docx

    这是因为 `/` 是最低优先级的匹配项,只有当没有其他匹配规则时,才会采用这个全局匹配。然而,这种方式可能导致一个问题,即所有资源,包括静态资源,都会被框架拦截。由于Spring MVC的Controller没有针对静态资源...

    Buffalo应用文档

    在Web应用中,`web.xml`是一个非常重要的配置文件,它主要用来定义应用的部署描述符,例如初始化参数、Servlet映射等。 - **初始化参数**:文档中提及了如何在`web.xml`中添加初始化参数`contextConfigLocation`来...

    SpringSpringMVCMyBatis整合.pdf

    - `servlet`:声明DispatcherServlet,并指定加载优先级。 - `servlet-mapping`:将所有请求映射到DispatcherServlet。 - `listener`:使用`ContextLoaderListener`加载Spring的全局上下文。 - `filter`和`filter-...

    第22章 Filter过滤器.pdf

    2. **XML配置**:在`web.xml`文件中定义Filter及其映射规则。 ```xml <filter-name>sf <filter-class>com.qf.web.filter.SecondFilter</filter-class> <filter-name>sf <url-pattern>/myservlet1 ``` ###...

    Spring源代码解析(四):Spring_MVC.doc

    如果检测到多个映射,它们会被添加到一个列表中,并在第9行使用`OrderComparator`按照`order`属性排序,以确定处理请求的优先级。 如果`detectAllHandlerMappings`配置为true(如代码第2行所示),则会查找并加载...

    org.apache.struts2.dispatcher.FilterDispatcher

    - 它会检查请求URL,看是否与Struts 2的映射规则匹配。如果匹配,FilterDispatcher将接管请求处理。 - 接下来,FilterDispatcher会解析请求参数,根据配置信息找到对应的Action类。 - 然后,它会创建...

    JavaWeb项目中springmvc和tomcat对静态文件的处理

    这行配置告诉Spring MVC,所有以`/resources/`开头的请求应映射到实际的`/resources/`目录下,并且`/**`表示匹配该路径下的所有层级子目录。Spring MVC会将这样的映射注册到`SimpleUrlHandlerMapping`的`urlMap`中。...

    java springmvc 注册中央调度器代码解析

    `<load-on-startup>`标签设定了Servlet的启动优先级,值为1表示服务器启动时优先创建这个Servlet。 接下来,我们需要通过`servlet-mapping`来指定哪些请求应该由`DispatcherServlet`处理: ```xml <servlet-...

    Spring起步例子.doc

    1. **配置`DispatcherServlet`**:在`web.xml`文件中,通过`<servlet>`元素定义`DispatcherServlet`,并指定其类路径和启动优先级。`<servlet-mapping>`元素则用于将特定的URL模式映射到此`DispatcherServlet`上。 ...

Global site tag (gtag.js) - Google Analytics