首先要从浏览器读取html文件开始说,你写的html文件肯定是以某种字符集编码的。所以浏览器将html文件读入内存时要先进行解码,(我主要说解码编码,其他一些过程我省略)。然后浏览器自己肯定有一个字符集编码的,那么浏览器又从内存中读取数据进行编码,然后显示页面。


这样,我假设页面有一个表单,有一个文本输入框。用户在文本输入框中输入中文(比如说“你好”)。然后点击提交。浏览器收到请求(假设提交方式是post)。浏览器数据编码传输给servlet引擎。servlet引擎对数据进行解码,默认是ISO-8859-1,可以用request.setCharacterEncoding方法进行设置。解码后的数据传给request,servlet组件从request里读取到“你好”,假设先要要实现的功能是把“你好”返回给页面,在页面显示。那么servlet就要与response建立连接,然后对“你好”进行编码,然后把“你好”传递给response。servlet引擎从response里读取,然后把数据传给浏览器(这里,我觉得应该不用进行编码解码。因为你responese里面已经存放的就是“你好”编码后的数据了),

浏览器收到数据,对数据进行解码,然后读入内存,然后浏览器再读取内存内容,对其进行编码,并显示在页面。


可能还有一些欠考虑的地方,希望各位大神指出。