浅谈javaWeb中编码与解码的理解

 首先一切请求信息都被封装在request对象中。而request信息的来源有两种:

1.URL请求中。这里我们可以看到浏览器采用UTF-8进行编码,而服务器采用ISO8859-1进行解码,必定乱码。

浅谈javaWeb中编码与解码的理解

所以我们的解决方案为:在服务器端先将请求信息进行ISO8859-1进行编码,然后再进行UTF-8解码。

当然了tomcat对URI的解码是可以设置的,在tomcat的server.xml文件中可以配置。

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

2.request缓冲区中。

假设前端页面为UTF-8编码,request缓冲区的编码默认也是ISO8859-1进行解码,所以中文也是必定乱码的,

但是request对象提供了一个方法可以设置缓冲区的编码,可以有效解决这个问题。

不管任何框架解决方案的根本都是我在这里提出的原理。我只是希望引发大家的一些思考。