`
seapigxie
  • 浏览: 27330 次
社区版块
存档分类
最新评论

jsp charset 和 pageEncoding的联系和区别

阅读更多
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和contentType的关系:
        1. pageEncoding的内容只是用于jsp输出时的编码,不会作为header发出去的; 是告诉web Server
            jsp页面按照什么编码输出,即web服务器输出的响应流的编码;
       2. 第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译
            成统一的UTF-8 JAVA源码(即.java).
       3. 第二阶段是由JAVAC的JAVA源码至java byteCode的编译,不论JSP编写时候用的是什么编码方案,
            经过这个阶段的结果全部是UTF-8的encoding的java源码.JAVAC用UTF-8的encoding读取
            java源码,编译成UTF-8 encoding的二进制码(即.class),这是JVM对常数字串在二进制码
            (java encoding)内表达的规范.
       4. 第三阶段是Tomcat(或其的application container)载入和执行阶段二的来的JAVA二进制码,
            输出的结果,也就是在客户端见到的,这时隐藏在阶段一和阶段二的参数contentType就发挥了功效   
    4. 和contentType效果一样的设置方式还有 html页面charset, response.setCharacterEncoding(),
        response.setContentType(),response.setHeader(); response.setContentType(),
        response.setHeader();优先级最好,其次是response.setCharacterEncoding();再者是
        <%@page contentType="text/html; chareset=gbk"%>,最后是<meta http-equiv="content-type"
        content="text/html; charset=gb2312" />.
    5. web页面输入编码: 在设置页面编码<%@page contentType="text/html; chareset=gbk"%>的同时,也        就指定了页面的输入编码;
        如果页面的显示被设置为UTF-8,那么用户所有的页面输入都会按照 UTF-8 编码; 服务器端程序在读
        取表单输入之前要设定输入编码;
        表单被提交后,浏览器会将表单字段值转换为指定字符集对应的字节值,然后根据 HTTP 标准 URL
        编码方案对结果字节进行编码.但是页面需要告诉服务器当前页面的编码方式;
        request.setCharacterEncoding(),能修改Serverlet获取请求的编码,response.setCharacterEncoding(),
        能修改Serverlet返回结果的编码.
分享到:
评论

相关推荐

    jsp中charset和pageEncoding

    ### jsp中charset和pageEncoding知识点详解 #### 一、基本概念 在Web开发中,尤其是在使用JavaServer Pages (JSP) 进行网页开发时,经常会遇到字符集(Charset)与页面编码(Page Encoding)的相关问题。这两个...

    PageEncoding&contentType中charset区别

    在Web开发中,尤其是使用Java Server Pages(JSP)进行页面渲染时,经常会遇到`pageEncoding`和`contentType`属性,并且它们都涉及到`charset`这一概念。正确理解这些属性及其之间的差异对于确保网页内容能够被正确...

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

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

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

    理解这两个属性的区别和联系是确保网页内容正确显示和数据安全传输的基础。 首先,`pageEncoding`属性主要用于指定JSP页面的字符编码。它决定了JSP源文件中的文本内容(如HTML、Java代码和注释)是如何被解析和转换...

    JSP页面pageEncoding和contentType属性

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

    jsp编码 jsp乱码

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

    JSP内置对象之域对象和JSP指令

    - 确保JSP页面的`charset`和`pageEncoding`属性设置为同一编码格式,通常推荐使用"UTF-8"。 示例代码: ```jsp ; charset=UTF-8" pageEncoding="UTF-8" %&gt; ``` 2. **解决请求参数乱码**: - 当表单提交数据时...

    JSP指令和动作熟悉

    charset=UTF-8" pageEncoding="UTF-8"%&gt; ``` 这里设置了页面的语言为Java,内容类型为HTML,并指定了字符编码为UTF-8。 接下来,我们来看`include`指令,它用于静态地包含其他文件。这在需要多个页面共享相同内容...

    jsp 例程 jsp 例程 jsp 例程

    charset=UTF-8" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE html&gt; &lt;title&gt;My First JSP Page int num = 5; out.println("Hello, World! The number is " + num); %&gt; ``` 这个例子中,`&lt;% %&gt;`内的Java...

    servlet与jsp的区别

    charset=UTF-8" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE html&gt; &lt;title&gt;Hello, World! out.println("&lt;h1&gt;Hello, World!&lt;/h1&gt;"); %&gt; ``` #### 6. 总结 综上所述,servlet和JSP在功能上有一定的相似性...

    JSP中文解码方法

    - `pageEncoding`属性:此属性用于定义JSP文件本身的编码,当JSP被解析和转换为Java源代码时,JSP引擎会根据此设置读取和处理文件。在示例中,`pageEncoding="utf-8"`表示JSP文件使用UTF-8编码,这是推荐的编码方式...

    jsp编写简单的学生信息注册界面

    charset=UTF-8" pageEncoding="UTF-8"%&gt;` 是JSP的`@page`指令,用于设置JSP页面的基本属性。这里设置了语言为Java,内容类型为HTML,字符编码为UTF-8。 - `contentType` 属性:定义了页面的MIME类型和字符集,这里...

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

    解决 jsp 页面显示中文乱码的方法是:在 jsp 页面设置 pageEncoding 和 contentType 的其中一个或者两个为支持中文的编码格式,如 utf-8、gbk、gb2312 等,并且在 post 方式传值和 get 方式传值时,需要设置 request...

    关于jsp 加法运算

    在JavaServer Pages(JSP)技术中,进行加法运算是一项基本操作,广泛应用于各种网页交互和数据处理。JSP是一种动态网页开发技术,它允许开发者在HTML、XML或者其他标记语言中嵌入Java代码,从而实现服务器端的逻辑...

    jsp页面文档编码问题

    为了解决这些问题,我们需要深入理解JSP中的`contentType`和`pageEncoding`这两个关键属性。 首先,`contentType`属性是用于定义JSP生成的HTML页面在浏览器中的字符编码。它告诉浏览器如何解析和显示接收到的内容。...

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

    在本项目中,我们需要使用JavaServer Pages(JSP)技术和Servlet来实现一个简单的Web应用程序,该程序能够接收用户输入的矩形的长度和宽度,计算并显示矩形的周长和面积。首先,我们来看看各个文件的作用。 1. **...

    JSP之使用jsp:forward实现用户信息验证的页面跳转

    在Java服务器页面(JSP)开发中,页面跳转是一个常见的需求,特别是在处理用户交互和信息验证时。`jsp:forward`元素是JSP中的一种动作标签,用于将请求转发到另一个页面,而不是生成一个新的HTTP请求。这在处理用户...

    JSP实例入门-JSP实例入门

    charset=UTF-8" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE html&gt; 我的第一个JSP页面 out.println("欢迎来到JSP世界!"); %&gt; ``` 在这个例子中,`&lt;%@&gt;` 是指令元素,用来设置页面属性;`&lt;%...%&gt;` 是脚本元素,...

Global site tag (gtag.js) - Google Analytics