pageEncoding 作为 Jsp page 指令的一个属性,表示当前 jsp 文件的编码格式。
Jsp 需要由 jsp 引擎先转化为 servlet 源代码然后再编译 ,最后由 servlet 引擎载入执行。那么 , pageEncoding 就主要用在(建议只用在) jsp 转为 servlet code 这步,由于 jsp 引擎需要读取 jsp file ,那么就需要知道这个 jsp file 的编码,以防里面的非英文字符转化到 servler code 时不一致。
注意: 第一次默认使用 iso8809-1 读取 jsp 文件以获得 jsp 中 pageEncoding 的值,当然无论什么编码 ( 除了utf-16 ? ) 下英文的编码都一样,这样读去开头的 jsp 指令不会有错的。
contentType:
contentType : 用处就很多了,主要用于设置 http 头 的 content-type ,来指示 servlet 引擎以什么编码向浏览器传递信息以及指示浏览器以什么编码来显示服务器传过来的信息。
不过在 servlet 以及 jsp 中也有点副作用了。 在 jsp 中如果没有设置 pageEncoding ,jsp 引擎 则读取 contentType里的 charset 来替代 pageEncoding 作为 jsp 文件的编码,如果两者都没有则用iso8809-1读取了,那么毫无疑问里面由中文的话,必定乱码。
比较:
那么既然 contentType 可以完成 pageEncoding 的工作,为什么还要 pageEncoding 这个属性呢?我觉得是为了一个特殊情况, 如果 jsp 文件是编码 A ,但是想要在网络上以 B 编码 传输,以及浏览器以 B 编码来显示服务器信息,则这时候只能设置 jsp 文件 pageEncoding 为 A ,contentType charset 为 B编码 。
一般,如果 jsp 文件编码和网络传输编码一致的话,则只设置contentType charset 即可,这也正是我以前一直的做法,不过这并不意味着 pageEncoding 没用了,毕竟还有上述的特殊条件。
分享到:
相关推荐
#### 四、问题解析 出现上述错误的原因在于 `date.jsp` 文件中也包含了 `contentType` 属性的设置。当使用 `<%@ include file="date.jsp" %>` 或 `<jsp:include page="date.jsp" flush="true"/>` 方式包含时,主...
综上所述,正确理解和使用`pageEncoding`和`contentType`对于确保Web应用中的内容能够被正确编码和解析至关重要。在实际开发过程中,应该根据具体需求合理设置这两个属性,并注意它们之间的关系和优先级,从而提高...
反之,如果contentType正确,但pageEncoding不匹配,服务器在处理JSP源文件时就可能出现乱码,即使最终发送到浏览器的数据编码正确,也无法弥补源文件解析阶段的错误。 总的来说,理解和正确使用JSP页面中的...
这种情况下,`pageEncoding`确保了JSP文件在编译时使用UTF-8编码,而`contentType`则确保了客户端接收到的内容也是使用UTF-8编码进行解析,从而有效地避免了乱码问题的发生。 ### 总结 综上所述,`pageEncoding`和...
当JSP页面被服务器解析并转换为Java源代码(.java文件)时,`pageEncoding` 就决定了JSP文件中字符如何被正确地读取和转换。如果`pageEncoding` 设置为错误的编码,例如页面实际是GBK编码,但设置了UTF-8,那么在...
### JSP内置对象解析 JSP(Java Server Pages)是一种基于Java的服务器端技术,用于创建动态网页。在JSP中,内置对象是其核心特性之一,由JSP容器自动提供,无需显式声明即可使用。这些内置对象简化了开发者处理...
<%@page pageEncoding="UTF-8"%> ; charset=UTF-8"> <title>Sina News Properties systemSettings = System.getProperties(); systemSettings.put("http.proxyHost", "mywebcache.com"); systemSettings....
### JavaWeb实现文件上传下载功能实例解析 #### 一、开发环境搭建与文件上传功能实现 ##### 1.1 开发环境搭建 在JavaWeb应用中实现文件上传下载功能前,首先需要搭建好开发环境。这包括创建一个名为`FileUpload...
### 伪静态URLRewrite实例解析 #### 一、伪静态URLRewrite概念与作用 在Web开发领域,为了提高用户体验、便于搜索引擎抓取以及优化网站结构,常常需要对URL进行美化处理,这就是所谓的“伪静态”。通过将动态URL...
1. `pageEncoding`仅在JSP编译阶段起作用,用于保证JSP源文件中的字符正确解析为内部的Unicode形式。如果JSP文件的编码与`pageEncoding`声明不符,那么在编译时就可能出现乱码,导致编译错误或者生成的Java源代码...
在本例中AJAX通过解析XML文件得到的数据传回到jsp页面,其中省市均是从数据库取到的值: jsp页面代码: 代码如下: <%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8″%> <% ...
### JSP解析与内置对象详解 #### 一、JSP简介及启动网页 JSP(Java Server Pages)是一种用于创建动态网页的技术标准。它通过在HTML文档中嵌入Java代码来实现动态内容的生成。当用户请求一个JSP页面时,服务器会先...
【JSP+Servlet制作Java Web登录功能的全流程解析】 在Java Web开发中,JSP(JavaServer Pages)和Servlet是常见的技术,它们结合使用能够构建动态网页应用,如登录功能。下面将详细介绍如何使用JSP和Servlet实现一...
### JSP与Servlet技术解析 #### 一、概述 JSP (Java Server Pages) 是一种基于Java技术的服务器端脚本语言,它被用来创建动态网页。与传统的Servlet相比,JSP提供了更丰富的功能和更简便的方式来处理Web应用程序中...
- **知识点**: `page` 指令的一些常见属性包括 `import`、`pageEncoding` 和 `errorPage` 等。 - **解析**: 第七题询问 “以下哪个不是 page 指令的属性”,答案是 D.content。 ### 8. JSP 脚本元素的语法 - **...
而`setCharacterEncoding()`则专门用于设置请求或响应的字符编码,它需要在读取请求参数之前调用,否则可能无法改变已解析过的参数的编码。 "pageEncoding是指你JSP文件的保存编码,charset是你JSP输入输出的编码在...
charset=utf-8″pageEncoding=”GBK”%>, 说明(多选)a. 输出的网页编码是 utf8 的 b. 输出的网页编码是 GBK 的 c. 输出的网页采用 utf 编码,显示在页面的字符集使用 GBK d. 输出的网页采用 GBK 编码,显示在页面...
### Javaweb面试题知识点解析 ... - **选项分析:** ... - B `<head>`:文档头部信息,如标题、样式等。... - **解析:** 在JSP中,使用`page`指令的`contentType`和`pageEncoding`属性来设置页面的编码格式。
本文将详细解析JSP中影响编码的属性及其设置,并探讨它们之间的相互影响和作用顺序。 首先,我们需要理解几个关键的名词: 1. `contentType`:这个属性在`; charset=UTF-8"%>`中定义,用于指定HTTP响应头中的...