`
lj6684
  • 浏览: 967074 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

JSP页面中ContentType与PageEncoding的区别

    博客分类:
  • Java
阅读更多
问题背景:项目中一个JSP页面发现加载非常缓慢,页面内容已经全显示完毕了,但发现IE加载并不是[完成]状态,而是[等待]状态(会持续1分多钟),经过一系列排查手段终于发现是由于JSP页面缺少contentType属性中charset的设置导致,加入charset=UTF-8,页面加载慢问题解决。
问题现象:


查了一下JSP页面头中的pageEncoding和contentType的用法,记录下来备忘

1. pageEncoding 只是指明了 JSP 页面本身的编码格式,跟页面显示的编码没有关系;容器在读取(文件)或者(数据库)或者(字符串常量)时将起转化为内部使用的 Unicode,而页面显示的时候将内部的Unicode转换为contentType指定的编码后显示页面内容;如果pageEncoding属性存在,那么JSP页面的字符编码方式就由pageEncoding决定,否则就由contentType属性中的charset决定,如果charset也不存在,JSP页面的字符编码方式就采用默认的ISO-8859-1。
2. contentType 指定了MIME类型和JSP页面回应时的字符编码方式。MIME类型的默认值是“text/html”; 字符编码方式的默认值是“ISO-8859-1”.MIME类型和字符编码方式由分号隔开;
3. 两者关系pageEncoding的内容只是用于jsp输出时的编码,不会作为header发出去的; 是告诉web Server jsp页面按照什么编码输出,即web服务器输出的响应流的编码;

第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码(即.java).
第二阶段是由JAVAC的JAVA源码至java byteCode的编译,不论JSP编写时候用的是什么编码方案,经过这个阶段的结果全部是UTF-8的encoding的java源码.JAVAC用UTF-8的encoding读取java源码,编译成UTF-8 encoding的二进制码(即.class),这是JVM对常数字串在二进制码(java encoding)内表达的规范.
第三阶段是Tomcat(或其的application container)载入和执行阶段二的来的JAVA二进制码,输出的结果(也就是Browser)见到的,这时一早隐藏在阶段一和阶段二的参数contentType就发挥了功效
  • 大小: 1.5 KB
分享到:
评论
1 楼 ld3838029 2014-12-30  
nice,写的不错~

相关推荐

    JSP页面中的pageEncoding和contentType两种属性的区别.

    ### JSP页面中的pageEncoding与contentType两种属性的区别 在Java Server Pages(JSP)技术中,`pageEncoding`和`contentType`是两个重要的属性,它们分别控制着JSP页面的编码方式以及输出内容的类型。了解这两个...

    JSP页面中的pageEncoding和contentType两种属性 - 51CTO_COM - 注解

    总的来说,理解和正确使用JSP页面中的pageEncoding和contentType属性,能够有效地解决跨地域、多语言环境下网页的显示问题,以及保证用户输入数据的准确性和安全性。在开发过程中,应养成良好的编码习惯,始终检查并...

    PageEncoding&contentType中charset区别

    ### PageEncoding与ContentType中Charset的区别 在Web开发中,尤其是使用Java Server Pages(JSP)进行页面渲染时,经常会遇到`pageEncoding`和`contentType`属性,并且它们都涉及到`charset`这一概念。正确理解...

    jsp中charset和pageEncoding

    1. **移除 `date.jsp` 中的 `contentType` 设置**:最简单的方法是将 `date.jsp` 中的 `contentType` 属性移除,只在 `test.jsp` 主页面中设置。 2. **使用 `<jsp:include>` 替代 `<%@ include %>`**:使用 `<jsp:...

    JSP页面pageEncoding和contentType属性

    在JavaServer Pages (JSP) 技术中,`pageEncoding` 和 `contentType` 是两个非常重要的属性,它们直接影响到JSP页面的编码处理和内容的传输。理解这两个属性的区别和作用对于避免乱码问题至关重要。 `pageEncoding`...

    怎么解决JSP页面中文问题20100901

    ### 如何解决JSP页面中的中文问题 在Web开发中,尤其是使用Java Server Pages (JSP)进行开发时,处理中文字符常常会遇到乱码问题。本文将详细探讨如何有效地解决JSP页面中的中文问题,确保用户界面能够正确地显示...

    jsp页面显示中文乱码解决.pdf

    在 jsp 页面中,pageEncoding 指的是 jsp 文件本身在本地保存时的编码方式,而 contentType 的 charset 是指服务器发送网页内容给客户端时所使用的编码。因此,在 jsp 页面中需要设置 pageEncoding 和 contentType ...

    jsp编码 jsp乱码

    jsp编码 jsp乱码解决方案 ...通过设置pageEncoding参数、contentType参数、request.setCharacterEncoding方法和response.setCharacterEncoding方法等,可以解决jsp页面中的乱码问题,提高Web应用程序的用户体验。

    Jsp页面中的字符编码方式与乱码解决方法

    JSP 页面中的字符编码方式与乱码解决方法 在 JSP 中,字符编码方式的设置是非常重要的,因为它直接影响着页面的显示效果。如果不正确地设置字符编码方式,可能会出现乱码问题。下面我们将详细介绍 JSP 中的字符编码...

    jsp页面文档编码问题

    - 在JSP页面的`<%@ page %>`指令中正确设置`contentType`,确保与JSP文件的编码一致,同时也与浏览器期望的编码匹配。 - 对于从数据库或其他外部源获取的数据,确保它们在传输和存储过程中使用了正确的编码,并在...

    JSP页面音乐

    返回这个URL给JSP页面,JSP页面中的`<audio>`标签就可以播放这个URL指向的音频。 **四、JSP与Servlet通信** 在JSP页面中,你可以使用JavaScript来控制音频的播放,通过发送AJAX请求到Servlet,Servlet处理请求后...

    对jsp两个页面间传递变量出现变量乱码的解决

    这里,`contentType`定义了页面的MIME类型和字符集,`pageEncoding`指定了JSP源文件的编码。将`pageEncoding="ISO-8859-1"`改为`pageEncoding="GBK"`,可以确保该JSP文件内部的编码方式与乱码问题相匹配。然而,这种...

    jsp页面生成word或excel

    通过这种方式,开发者可以直接在JSP页面中填充数据,而不需要额外编写复杂的服务器端代码。 #### 三、在客户端生成Word文件 在客户端生成Word文档有两种常见方法: 1. **直接在客户端生成Word文档**:这种方法...

    一个jsp页面中多个提交按钮提交不同的页面.zip

    在JavaServer Pages (JSP) 技术中,创建一个包含多个提交按钮的页面是常见的需求,每个按钮可能对应不同的处理逻辑,比如提交到不同的后端Servlet或执行不同的操作。本示例着重讲解如何在JSP页面中实现多个提交按钮...

    解决JSP页面中文乱码问题

    - 通常情况下,只需要在一个主要页面中设置好`pageEncoding`和`contentType`属性即可。 #### 四、总结 解决JSP页面中文乱码问题的关键在于理解整个请求-响应过程中的字符编码流程,并确保各个部分之间的编码一致...

    5种JSP页面显示为乱码的解决方法

    可以通过设置JSP页面的`pageEncoding`和`contentType`属性来指定页面使用的字符集。例如: ```jsp <%@ page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK" %> ``` 这里指定了页面的`...

    实现JSP页面与JAVABEAN注册

    在JSP页面中,`<jsp:useBean>`标签用于实例化并初始化`User`对象,`scope="request"`表示该对象的作用范围为一次请求。当用户提交表单时,数据会被发送到服务器。 然后,我们需要创建一个Servlet或Controller来处理...

    编写jsp页面实现如下界面效果,然后交给servlet计算矩形的周长和面积,并输出结果。

    6. **JSP表达式与脚本元素**:在JSP页面中,使用表达式`<%= %>`显示数据,使用脚本元素`<% %>`执行Java代码。 以上就是利用JSP和Servlet实现计算矩形周长和面积的Web应用的详细步骤和涉及的技术点。通过这个简单的...

    导出jsp页面为excel文档

    - **动态生成Excel内容**:可以在JSP页面中使用Java代码动态生成Excel的具体内容,例如表格数据、样式等。 - **处理大量数据**:对于需要处理大量数据的情况,可以考虑使用更高效的方式来生成Excel文件,比如使用...

Global site tag (gtag.js) - Google Analytics