SpringMVC 直接处理.html/.htm 文件
今天处理一个 ssm框架,没有用.jsp视图而是直接用.html视图文件。服务器启动什么一切正常,没有任何错误信息。但就是最后返回视图的时候总是找不到资源。
经过努力,发现原来在springmvc中,如果配置/拦截所有的请求,那么在返回视图的.html url中一样会被拦截,但此时dispatcheservlet 拦截器是不能处理该.html文件的。如果配置了 静态资源文件,把.html文件作为静态文件处理,则视图即可渲染出来。
主要配置如下
web.xml
<servlet>
<servlet-name>springMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:resources/spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
spring-servlet.xml
<!-- 静态资源访问处理 -->
<mvc:default-servlet-handler/>
只需要添加此标签即可。这样在org.springframework.web.servlet.DispatcherServlet
不能处理资源的时候,会交给default-servlet-handler来处理。