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

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

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

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

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

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

第一阶段

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

第二阶段

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

第三阶段

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

流程如如下:

,请尊重作者辛勤劳动成果,转载说明出处.

java 页面编码_java中文乱码解决之道(七)-----JSP页面编码过程相关推荐

  1. [转]java中文乱码解决之道(三)-----编码详情:伟大的创想---Unicode编码

    http://www.cnblogs.com/chenssy/ java中文乱码解决之道(三)-----编码详情:伟大的创想---Unicode编码 随着计算机的发展.普及,世界各国为了适应本国的语言 ...

  2. Java中文jsp页面_java中文乱码解决之道(七)—–JSP页面编码过程

    我们知道JSP页面是需要转换为servlet的,在转换过程中肯定是要进行编码的.在JSP转换为servlet过程中下面一段代码起到至关重要的作用. 在上面代码中有两个地方存在编码:pageEncodi ...

  3. java转换中文乱码_java中文乱码解决之道(四)-----java编码转换过程

    前面三篇博客侧重介绍字符.编码问题,经过这三篇博客各位博友对各类字符编码有了一个初步的了解,要了解java的中文问题这是必需要了解的.可是了解这些仅仅只是一个开始,如下博客将侧重介绍java乱码是如何 ...

  4. java url utf 8_java中文乱码解决之道(八)—–解决URL中文乱码问题

    我们主要通过两种形式提交向服务器发送请求:URL.表单.而表单形式一般都不会出现乱码问题,乱码问题主要是在URL上面.通过前面几篇博客的介绍我们知道URL向服务器发送请求编码过程实在是实在太混乱了.不 ...

  5. java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB**

    原文出处:http://cmsblogs.com/?p=1412 在上篇博文(java中文乱码解决之道(一)-–认识字符集)中,LZ简单介绍了主流的字符编码,对各种编码都是点到为止,以下LZ将详细阐述 ...

  6. spring mvc项目中,在jsp页面中输入中文时,提交到student.jsp页面后,结果显示中文乱码

    在jsp页面中输入中文时,提交到student.jsp页面后,结果显示中文乱码 下面是相关代码截图 表单代码: 控制器类代码: springmvc配置文件代码: 用于显示的jsp页面: 修改之前的we ...

  7. MyEclipse编码设置,中文乱码解决方法,UTF-8,GBK

    在Myeclipse导入一个项目,有中文乱码问题,解决方法如下: 一.将整个project设置编码UTF-8(UTF-8可以最大的支持国际化) windows->Preferences-> ...

  8. MyEclipse编码设置,中文乱码解决方法,UTF-8,GBK(转)

    一.设置新建常见类型文件的默认编码格式,也就是文件保存的格式. 在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码 ...

  9. java中文乱码解决之道(八)-----解决URL中文乱码问题

    来源:http://www.cnblogs.com/chenssy/p/4237953.html 我们主要通过两种形式提交向服务器发送请求:URL.表单.而表单形式一般都不会出现乱码问题,乱码问题主要 ...

最新文章

  1. php5.3 php7兼容,Centos搭建PHP7.0.x让php5.3和php7兼容共存教程
  2. JAVA-date(计算时间差)
  3. redhat下升级gcc编译器
  4. 为什么zookeeper集群中节点配置个数是奇数个?
  5. 上海人工智能实验室招聘NLP研究员和工程师啦,是事业单位呦~
  6. 【SDOI2014】数表
  7. Flink CDC 系列 - Flink MongoDB CDC 在 XTransfer 的生产实践
  8. 彻底删除mysql server 2005_sql2005卸载工具(sql server 2005卸载工具)
  9. cin.get()的用法
  10. mysql中as是什么意思_数据库中as是什么意思
  11. JavaScript在线教程网址
  12. Gos —— 开启保护模式
  13. Vue指令之列表渲染
  14. 五种常见的聚类算法总结
  15. postfix 邮箱设置及常见错误
  16. http_load 对squid 进行压力测试
  17. 解决支付宝买家状态非法,无法继续交易 错误码:BUYER_ENABLE_STATUS_FORBID
  18. STM32Cube的PWM控制基础篇(一)一路PWM设置
  19. EXCEL如何快速【选中】或【跳到】当前列的最后一个数据?
  20. [Xcode 实际操作]九、实用进阶-(24)使用Segue(页面的跳转连接)进行页面跳转并传递参数...

热门文章

  1. python 打印输出xml数据问题
  2. 抖音直播APP软件系统为什么能这么火?反映出的问题又会是什么?
  3. Jenkins+GitHub+Xcode+fir搭了一个持续集成环境
  4. javaweb学习总结七(XML语言作用、语法)
  5. PHP的 Warning: Cannot modify header information - headers already sent by警告
  6. ISTQB 软件测试资质认证
  7. InnoDB的Buffer Pool简介
  8. Oracle数据库安装时 environment variable path 大于 1023
  9. linux-redis
  10. 关于js返回上一页的实现方法