2013-02-27 35 views
1

我使用Spring MVC的3.1以下的前端控制器配置:Spring MVC的消除*。html的模式

<servlet> 
     <servlet-name>paymentSystemServlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/spring/servlet-config.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>paymentSystemServlet</servlet-name> 
     <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 

因为我有一个像模式“*。html的”我所要做的下一件事。我需要一个html扩展名,包括我的所有url到控制器(例如'a href =/admin.html'拦截请求映射的控制器'/ admin')。我可以配置一些网址模式,以避免在我的网址中的HTML扩展?谢谢。

回答

3

通过映射到DispatcherServlet的/,你可以使用它作为一个默认的servlet,它会负责处理所有的请求,包括HTML,HTM等

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

或者你也可以使用Spring MVC 3。 x default servlet handler来完成这项工作。只需将以下内容添加到Spring XML配置中即可。

<mvc:default-servlet-handler/> 
+0

谢谢你,slashdot。现在每个内部页面都可以正常工作,但是我的起始页面是/ login,而之前有我的 /login.html时,我尝试通过http:// localhost:8080/it重定向进入我的应用我登录页面罚款。现在,当我尝试输入那种类型时,我有404错误(并且我需要通过http:// localhost:8080/login输入manualy) – sidlejinks 2013-02-27 14:34:08

+0

Tomcat要求index.html实际上存在于文件系统上,否则会发送404对/的请求的响应。您是否在您的配置中列出了以下内容: index.html slashdot 2013-02-27 14:43:16

+0

我解决了此问题,我的启动控制器到'/'路径。谢谢 – sidlejinks 2013-02-27 14:49:29