【问题标题】:Does Spring MVC support extension-less URLs?Spring MVC 是否支持无扩展 URL?
【发布时间】:2011-11-02 23:03:28
【问题描述】:

Spring MVC 是否支持像 asp.net MVC 那样的无扩展 URL?

我刚刚开始使用 Spring MVC。

或者可能与 Spring MVC 无关,而与 Tomcat 无关?

【问题讨论】:

    标签: java spring model-view-controller tomcat spring-mvc


    【解决方案1】:

    Yes, it does.

    如果您使用注解,请使用以下内容注解您的控制器方法或类:

    @RequestMapping("/hello")
    

    当您像这样映射调度程序 servlet 时,它将响应 /hello

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    

    【讨论】:

    • 对不起,这不是真的。在这种情况下,“/hello”只是 URL 的一部分。扩展在 /WEB-INF/web.xml 中定义——类似于 dispatcher*.htm
    • @jirka.pinkas:web.xml 可以处理 any url。如果你想让 Spring 捕获所有 url(包括那些没有扩展名的),请在 web.xml 中使用这个字符串:&lt;servlet-mapping&gt;&lt;servlet-name&gt;dispatcher&lt;/servlet-name&gt; &lt;url-pattern&gt;/&lt;/url-pattern&gt; &lt;/servlet-mapping&gt;dispatcher 这是 Spring 的 DispatcherServlet
    • @ffriend 谢谢,我不知道“/”映射会起作用。我测试了它,它有效!
    • @jirka:为清楚起见进行了编辑;-)
    • @Jeremy Heiler:现在完美了 ;)
    【解决方案2】:

    您必须在 /WEB-INF/web.xml 中设置它:

    <servlet-mapping>
      <servlet-name>dispatcher</servlet-name>
      <url-pattern>/</url-pattern>
    </servlet-mapping>
    

    (假设您的 DispatcherServlet 名为“dispatcher”)。

    【讨论】:

      猜你喜欢
      • 2015-02-06
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      相关资源
      最近更新 更多