springmvc跳转到web很慢(Java-程序员感悟-Spring)(1)

减压图片

彻底解决乱码

1.1 @ResponseBody 注解乱码

这种乱码是由于JSON字符串和对象进行序列号和反序列化的时候用出现的问题,String转换的时候默认用的编码是ISO-8859-1。

解决办法1: 在 @requestMapping 请求映射的注解中属性 produces="text/html;charset=UTF-8"

解决办法2: 一劳永逸的办法 在spring配置中配置下

<mvc:annotation-driven >

<mvc:message-converters register-defaults="true">

<bean class="org.springframework.http.converter.StringHttpMessageConverter">

<property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>

</bean>

</mvc:message-converters>

</mvc:annotation-driven>

解决办法3: 如果还不能解决GET出现的乱码,就在JSP页面添加配置:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

1.2 数据库乱码

创建数据库的时候,一般都会选择 UTF-8的字符编码方式来创建数据库。一般不会出现来乱码问题,但是在配置 jdbc的时候,不注意没有添加上配置,也可能出现乱码:

jdbc.url= jdbc:mysql://localhost:3306/testdb?characterencoding=UTF-8

1.3 control 层编码格式问题

如果使用:request.setCharacterEncoding("UTF-8");

响应也使用:response.setContentType("application/json;charset=UTF-8");

1.4 IDE默认编码问题

IDEA默认时UTF-8,eclipse则是GBK

eclipse需要配置下IDE默认编码: General->Workspace->Text file encoding

springmvc跳转到web很慢(Java-程序员感悟-Spring)(2)

1.5 tomcat 出现乱码情况

tomcat 一般会先乱码情况,但是tomcat也可以配置,可以预防这种乱码的可能性。 在conf -> server.xml 中进行配置

<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> -

1.6 tomcat 如还继续出现乱码,继续处理

这次在启动脚本中添加 utf-8编码方案,来彻底解决乱码问题

windows catalina.bat:

set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -Dfile.encoding="UTF-8"

linux catalina.sh:

JAVA_OPTS="-Dfile.encoding=UTF-8"

,