代码之家  ›  专栏  ›  技术社区  ›  Ezombort

在URL中避免文件扩展名?

  •  7
  • Ezombort  · 技术社区  · 16 年前

    我刚开始使用SpringWebMVC。我正在尝试避免URL中的文件扩展名。我该怎么做?(我用的是弹簧2.5.x)

    豆子:

    <bean name="/hello.htm" class="springapp.web.HelloController"/>
    

    我希望是:

    <bean name="/hello" class="springapp.web.HelloController"/>
    

    我不能让它工作。有什么想法吗?

    编辑:

    URL映射

    <servlet-mapping>
        <servlet-name>springapp</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    

    我尝试过在没有运气的情况下改变URL模式(*and/*)。

    6 回复  |  直到 13 年前
        1
  •  6
  •   Paul Whelan    16 年前
    <servlet>
        <servlet-name>spring-mvc</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>spring-mvc</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    

    然后您需要注册您的URL,以便由特定的控制器处理。请参阅以下内容

    http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html

        2
  •  9
  •   ecdragon    16 年前

    在3.0中,/似乎有效。那是…

    <url-pattern>/</url-pattern>
    
        3
  •  8
  •   Tom van Zummeren    16 年前

    据我所知,如果您使用JSP作为控制器的视图,就不能这样做。

    因为当您将模型传递给JSP时,SpringMVC在内部执行“转发”到JSP的URL。如果你使用 <url-pattern>/*</url-pattern> 然后,这个转发也将由DispatcherServlet处理,而不是由JSP视图处理。

    你能做的就是利用 <url-pattern>/something</url-pattern> 把你的JSP放在另一个目录里

        4
  •  4
  •   alarmo    13 年前

    至少在Spring3.2中,上面被接受的答案非常接近,但并不完全符合需要。下面的web.xml对我来说很有用,我将它添加到这里的线程中,以供下一个谷歌搜索此内容的人参考…

    <servlet-mapping>
      <servlet-name>springmvc</servlet-name>
      <url-pattern>/</url-pattern>
    </servlet-mapping>
    
        5
  •  2
  •   serg    16 年前

    首先尝试:

    <servlet-mapping>
            <servlet-name>spring-mvc</servlet-name>
            <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    

    如果这不起作用,问题就在别处。您的Apache是否设置为将这些URL转发到Tomcat?类似:

    JkMount /hello worker1
    
        6
  •  1
  •   Michael Lloyd Lee mlk    16 年前

    你试过了吗 <url-pattern>/*</url-pattern> 在servlet映射和 <bean name="/hello" .../> ?