`
zy19982004
  • 浏览: 661951 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
F6f66edc-1c1a-3859-b76b-a22e740b7aa7
Hadoop学习
浏览量:251955
社区版块
存档分类
最新评论

Servlet学习一:web.xml中url-pattern匹配规则

 
阅读更多

一.url-pattern的三种写法

  1. 精确匹配。以"/"开头,加上servlet名称。
    /ad
    
     
  2. 路径匹配。以"/"开头,加上通配符"*"。
    /*
     
  3. 扩展名匹配。以通配符"*"开头,加上扩展名。
    *.action
     

二.servlet匹配规则

  1. 先精确匹配,再路径匹配。servlet-mapping1:<url-pattern>/ad</url-pattern>,servlet-mapping2:<url-pattern>/*</url-pattern>。当一个请求http://localhost:8080/ad来的时候,servlet-mapping1匹配到,不再用servlet-mapping2匹配。
  2. 路径匹配的时候,先最长路径匹配,再最短路径匹配。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匹配。
  3. 至于扩展名匹配,就是单独于精确匹配和匹配的一类了。struts2的扩展名就是.action,所以http://localhost:8080/ad.action会被servlet-mapping:<url-pattern>*.action</url-pattern>匹配到。
  4. 以上都找不到servlet,就用默认的servlet,配置为<url-pattern>/</url-pattern>。

 

三. filter匹配规则

  1. 顺着web.xml定义的filter顺序匹配,匹配到了就开始filter。
  2. 有几个就匹配几次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。

 

 

0
0
分享到:
评论

相关推荐

    servlet url-pattern

    在Web应用程序的部署描述符(web.xml)中,我们通过URL-Pattern来定义Servlet的访问路径,使得当用户通过特定URL发起请求时,服务器知道应该调用哪个Servlet来处理。 在`web.xml`文件中,URL-Pattern的配置方式通常...

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

    Servlet的URL-Pattern匹配规则是Web应用程序中Servlet和Filter配置的核心部分,它决定了Servlet或Filter如何响应特定的HTTP请求。以下是对这些匹配规则的详细解释: 1. **精确匹配** - 在`&lt;url-pattern&gt;`中指定的...

    web.xml配置文件详解

    `web.xml`是Java Web应用程序的核心配置文件之一,主要用于定义Web应用程序的结构与行为。它是Servlet容器(如Tomcat)读取Web应用程序配置信息的主要来源,因此深入理解其配置项及其作用至关重要。 #### 二、web....

    URL-pattern解析

    同样,这需要在`web.xml`中与对应的`url-pattern`匹配。 最后,超链接的路径处理也是基于`url-pattern`。例如,如果超链接是`doCar?action=buy`,则实际请求路径会是基础路径加上这个链接,即`...

    Tomcat(二) Tomcat实现:Servlet与web.xml介绍 以及 源码分析Tomcat实现细节1

    Servlet是Java EE标准中的一部分,用于构建动态Web应用程序。Tomcat作为Servlet容器,它遵循Servlet规范来运行和管理Servlet。在Servlet中,有以下几个关键概念: 1. **Listener(监听器)** 监听器是Java EE中的...

    url-pattern的3种写法

    在Web应用开发中,`web.xml`配置文件扮演着极其重要的角色,其中`&lt;url-pattern&gt;`元素用于定义Servlet的映射规则,即URL模式。通过不同的URL模式,我们可以精确地控制Servlet如何被客户端请求所调用。本文将详细介绍`...

    DWR所需要的包与基本web.xml

    它简化了Ajax(Asynchronous JavaScript and XML)开发,使得后端Java对象可以直接在前端JavaScript中调用,提供了动态的、富交互式的Web应用体验。 在DWR的集成过程中,我们需要一些关键的包来确保其正常工作。...

    web.xml文件的作用及基本配置.pdf

    web.xml文件是Java EE应用程序中一个非常重要的配置文件,它用于配置和管理Web应用程序。在本文档中,我们将详细介绍web.xml文件的作用、结构以及基本配置方法。 web.xml文件位于Web应用程序的WEB-INF目录下,是...

    Tomcat解决跨域的两个jar包java-property-utils-1.9.jar和cors-filter-1.7.jar

    4. 在`web.xml`配置文件中,定义`CORSFilter`并绑定到相应的URL模式: ```xml &lt;filter-name&gt;CORSFilter&lt;/filter-name&gt; &lt;filter-class&gt;com.thetransactioncompany.cors.CORSFilter&lt;/filter-class&gt; &lt;filter-...

    JavaWeb Servlet中url-pattern的使用

    `url-pattern`是Servlet在`web.xml`配置文件中的关键元素,它定义了Servlet如何响应特定的URL请求。本篇文章将深入探讨`url-pattern`的使用及其背后的匹配规则。 首先,我们需要了解Servlet和Filter的`url-pattern`...

    web.xml的详解

    在Java Web开发中,`web.xml`是一个至关重要的配置文件,它用于定义Web应用程序的各种组件和配置信息。本文将详细介绍`web.xml`的结构、元素及其功能。 #### 一、Web.xml的基本结构与DTD `web.xml`文件采用XML格式...

    常用的实用的web.xml

    7. **`&lt;servlet-mapping&gt;`**: 映射Servlet到URL模式,`&lt;servlet-name&gt;`引用Servlet的名称,`&lt;url-pattern&gt;`定义匹配的URL。 8. **`&lt;session-config&gt;`**: 配置会话属性,如会话超时时间(`&lt;session-timeout&gt;`)。 9...

    14-Servlet注解以及IDEA与tomcat相关配置.pdf

    Servlet 注解和 IDEA 与 Tomcat 相关配置 Servlet 注解是 J2EE5 ...在实际开发中,Servlet 注解和 web.xml 配置文件可以同时使用,但注解中的 urlPattern 和 web.xml 的 urlPattern 不能相同,如果相同,部署会失败。

    jsp乱码解决超酷,通过web.xml配置

    1. **配置字符集过滤器(CharsetFilter)**:在`web.xml`中添加一个过滤器,该过滤器可以强制设置请求和响应的字符集。例如: ```xml &lt;filter-name&gt;charsetFilter&lt;/filter-name&gt; &lt;filter-class&gt;...

    commons-fileupload-1.2.jar和commons-io-1.3.2.jar

    &lt;url-pattern&gt;/servlet/FileUpload&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; 对应的请求文件: &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt; &lt;title&gt;index.html&lt;/title&gt; &lt;meta http-equiv=...

    网站源代码

    **MVC(Model-View-Controller)**是一种广泛应用于Web应用开发中的设计模式。它将应用程序分为三个核心部分: 1. **Model(模型)**:负责管理应用程序的业务逻辑和数据。 2. **View(视图)**:用于展示数据,即...

    springmvc静态资源访问

    - **解决方法**:在`web.xml`中配置`servlet-mapping`,指定某些URL模式不经过Spring MVC处理,而是直接由Web容器返回资源。例如: ```xml &lt;servlet-mapping&gt; &lt;servlet-name&gt;default&lt;/servlet-name&gt; &lt;url-...

Global site tag (gtag.js) - Google Analytics