在使用springmvc:4.1.3版本的时候因为前台一直用的是html网页,而不是jsp,在web.xml中配置是这样的
<servlet-mapping>
<servlet-name>manage-web</servlet-name>
<!-- 伪静态 -->
<url-pattern>*.html</url-pattern>
</servlet-mapping>
但是在注册用户的时候页面报了一个406错误,注册后Controller中本应该返回一个json数据,但是这次却返回不了了。
配置了:
<!-- Jackson Json处理工具包 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
没有用。因为在springmvc中不支持对html网页的json数据的显示,如果通过以上配置,请求不会进入springmvc的框架。
所以解决办法就是在web.xml中再配置一个<servlet-mapping>:如下
<servlet-mapping>
<servlet-name>manage-web</servlet-name>
<!--过滤所有以/service/* 结尾的请求,其中service可以任意定义-->
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
可能有人会很纳闷,为什么不直接使用/service/*这种配置呢?前面不是多次一举吗?
因为我们知道,页面以.html结尾可以被百度引擎搜索到,更容易在网友搜索网站时显示在前排,从而提高网站的访问量,所以为了这一点,第一种配置也是非常有必要的。