【问题标题】:Dispatcher servlet spring and url patternDispatcher servlet spring 和 url 模式
【发布时间】:2013-06-25 23:18:35
【问题描述】:

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

【问题讨论】:

    标签: java spring spring-mvc


    【解决方案1】:

    / 模式将使您的 servlet 成为应用程序的默认 servlet,这意味着它将选择没有另一个完全匹配的每个模式。

    网址模式映射:

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

    路径映射规则:

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

    【讨论】:

    • 嗨,所以该模式适用于 myWeb 应用程序文件夹或 webapps 的根文件夹?
    • 您的网络应用程序。当您指定 host:port/ 时,Tomcat 会为您提供默认应用程序。
    猜你喜欢
    • 1970-01-01
    • 2021-02-13
    • 2018-02-08
    • 2015-09-06
    • 2019-07-29
    • 2016-12-31
    • 2011-02-15
    • 2011-06-23
    • 2011-03-04
    相关资源
    最近更新 更多