使用 URL 路径

在收到客户端请求时,web 容器确定转发到哪一个 Web 应用。选择的 Web 应用必须具有最长的上下文路径匹配请求 URL 的开始。当映射到Servlet 时,URL 匹配的一部分是上下文。

Web 容器接下来必须用下面描述的路径匹配步骤找出 servlet 来处理请求。
用于映射到 Servlet 的路径是请求对象的请求 URL 减去上下文和路径参数部分。下面的 URL 路径映射规则按顺序使用。使用第一个匹配成功的且不会进一步尝试匹配:

  1. 容器将尝试找到一个请求路径到servlet路径的精确匹配。成功匹配则选择该servlet。
  2. 容器将递归地尝试匹配最长路径前缀。这是通过一次一个目录的遍历路径树完成的,使用‘/’字符作为路径分隔符。最长匹配确定选择的servlet。
  3. 如果URL最后一部分包含一个扩展名(如 .jsp),servlet容器将视图匹配为扩展名处理请求的Servlet。扩展名定义在最后一部分的最后一个‘.’字符之后。
  4. 如果前三个规则都没有产生一个servlet匹配,容器将试图为请求资源提供相关的内容。如果应用中定义了一个“default”servlet,它将被使用。许多容器提供了一种隐式的default servlet用于提供内容。
    容器必须使用区分大小写字符串比较匹配。