原配置文件:
<servlet>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mobileretrieval</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
原controller
@RequestMapping(value="/toIndex.html")
public String toIndex() {
return "index.jsp";
}
@RequestMapping(value="/toTest.html")
public String toTest() {
return "test.html";
}
该配置只能返回.jsp 不能返回.html 是因为springMVC 拦截器的原因
<servlet-mapping>
<servlet-name>mobileretrieval</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping
表示拦截所有以.html结尾的URL的请求,因此跳转到本地 test.html的请求也被拦截
解决方法:
<servlet>
<servlet-name>mobileretrieval</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mobileretrieval</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
@RequestMapping(value = "/toIndex.htm")
public String toIndex() {
return "index.jsp";
}
@RequestMapping(value = "/toIndex2.htm")
public String toIndex2() {
return "index2.html";
}