对于页面中文乱码的问题,需要在springmvc.xml增加如下配置

<mvc:annotation-driven>
    <mvc:message-converters>
        <bean class="org.springframework.http.converter.StringHttpMessageConverter">
            <property name="supportedMediaTypes">
                <list>
                    <value>application/json;charset=UTF-8</value>
                    <value>text/html;charset=UTF-8</value>
                </list>
            </property>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>

控制器直接返回对象时,用到的情况其实很多,比如接口返回值之类的。开始的时候,虽然我在控制器中增加了@RestController但是返回的时候,仍然会报错。还需要要引入第三方json工具类,并在配置文件中进行配置。

对于json工具类,我选择了谷歌的gson,springmvc原本就支持gson类,所以只需要增加一句配置就可以了

<dependency>
  	<groupId>com.google.code.gson</groupId>
  	<artifactId>gson</artifactId>
  	<version>2.8.5</version>
</dependency>

然后在springmvc.xml继续增加

<mvc:annotation-driven>
    <mvc:message-converters>
    	<!-- 防止中文乱码 -->
        <bean class="org.springframework.http.converter.StringHttpMessageConverter">
            <property name="supportedMediaTypes">
                <list>
                    <value>application/json;charset=UTF-8</value>
                    <value>text/html;charset=UTF-8</value>
                </list>
            </property>
        </bean>
        <!-- 对象自动转json -->
        <bean class="org.springframework.http.converter.json.GsonHttpMessageConverter"/>
    </mvc:message-converters>
</mvc:annotation-driven>