在使用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结尾可以被百度引擎搜索到,更容易在网友搜索网站时显示在前排,从而提高网站的访问量,所以为了这一点,第一种配置也是非常有必要的。