java中文乱码解决之道(七)—–JSP页面编码过程

我们知道JSP页面是需要转换为servlet的,在转换进程中肯定是要进行编码的。在JSP转换为servlet进程中下面1段代码起到相当重要的作用。

<%@ page language="java" contentType="text/html; charset=UTF⑻" pageEncoding="GBK" %>

在上面代码中有两个地方存在编码:pageEncoding、contentType的charset。其中pageEncoding是jsp文件本身的编码,而contentType的charset是指服务器发送给客户端时的内容编码。

在前面1篇博客中就提到过(java中文乱码解决之道(4)—–java编码转换进程)jsp在转换为Servlet的进程中是需要经过主要的3次编码转换进程(除去数据库编码转换、页面参数输入编码转换):

第1次:转换为.java文件;

第2次:转换为.class文件;

第3次:业务逻辑处理后输出。

第1阶段

JVM将JSP编译为.jsp文件。在这个进程中pageEncoding就起到作用了,JVM首先会获得pageEncoding的值,如果该值存在则采取它设定的编码来编译,否则则采取file.encoding编码来编译。

第2阶段

JVM将.java文件转换为.class文件。在这个进程就与任何编码的设置都没有关系了,不管JSP采取了甚么样的编码格式都将无效。经过这个阶段后.jsp文件就转换成了统1的Unicode格式的.class文件了。

第3阶段

后台经过业务逻辑处理后将产生的结果输出到客户端。在这个进程中contentType的charset就发挥了功效。如果设置了charset则阅读器就会使用指定的编码格式进行解码,否则采取默许的ISO⑻859⑴编码格式进行解码处理。

流程如以下:

201501150001


—–原文出自:http://cmsblogs.com/?p=1518,请尊重作者辛苦劳动成果,转载说明出处.

—–个人站点:http://cmsblogs.com

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » java中文乱码解决之道(七)—–JSP页面编码过程

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡