Dispatcher servlet spring和url模式

时间:2013-06-28 08:25:07

标签: java spring spring-mvc

我是Spring框架的新手今天我遇到了web.xml文件中的调度程序servlet配置,我想出了一个关于url模式的问题,就像这个语法/。那么,如果我在tomcat服务器中部署web应用程序,实际上“/”符号适用的是:host:port /或host:port / myWeb /

1 个答案:

答案 0 :(得分:12)

模式/将使您的servlet成为应用程序的默认servlet,这意味着它将获取没有其他完全匹配的每个模式。

网址格式映射:

  
      
  • 以/字符开头并以/*后缀结尾的字符串用于路径映射。
  •   
  • *.前缀开头的字符串用作扩展名映射。
  •   
  • 仅包含/字符的字符串表示应用程序的默认 servlet。在这种情况下,servlet路径是请求URI减去上下文路径,路径信息是null
  •   
  • 所有其他字符串仅用于完全匹配。
  •   

路径映射规则:

  
      
  1. 容器将尝试查找请求路径与servlet路径的完全匹配。成功匹配选择servlet。
  2.   
  3. 容器将递归尝试匹配最长的路径前缀。这是通过使用/字符作为路径分隔符逐步降低路径树的目录来完成的。最长的匹配决定了所选的servlet。
  4.   
  5. 如果URL路径中的最后一个段包含扩展名(例如.jsp),则servlet容器将尝试匹配处理扩展请求的servlet。扩展名定义为最后一个.字符后的最后一个分段的一部分。
  6.   
  7. 如果前三个规则都没有导致servlet匹配,则容器将尝试提供适合所请求资源的内容。如果为应用程序定义了默认 servlet,则将使用它。
  8.