带有spring的web.xml中的欢迎文件不起作用?


问题内容

我已经设置了spring-mvc servlet来匹配* .page 请求。我已经将web.xml中的 welcome-file-list
设置为index.page

当我转到Web服务器的根目录时,此方法有效:

http://me.com确实可以正确重定向到http://me.com/index.page

但是,当我使用subdirectoris时,它不会重定向:

http://me.com/dashboard没有
重定向到http://me.com/dashboard/index.page

有什么办法可以使此映射起作用?

我的web.xml文件(摘录):

<welcome-file-list>
    <welcome-file>index.page</welcome-file>
</welcome-file-list>

<servlet-mapping>
    <servlet-name>spring-mvc</servlet-name>
    <url-pattern>*.page</url-pattern>
</servlet-mapping>

我的webdefault.xml(来自码头):

    <init-param>
        <param-name>dirAllowed</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>welcomeServlets</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>redirectWelcome</param-name>
        <param-value>false</param-value>
    </init-param>

问题答案:

它仅适用于真实的物理目录,不适用于模拟目录结构的任意servlet映射。

Spring MVC允许非常复杂的URL映射,因此您最好使用@RequestMapping