pageEncoding 作为 Jsp page 指令的一个属性,表示当前 jsp 文件的编码格式,由于以前多用 contentType 来解决编码问题,从来没有用过这个属性,不过这个属性也不是没用,记录一下:
pageEncoding:
pageEncoding :
Jsp 需要由 jsp 引擎先转化为 servlet 源代码然后再编译 ,最后由 servlet 引擎载入执行。
画个图:(skitch
)
那么 , pageEncoding 就主要用在(建议只用在) jsp 转为 servlet code 这步,由于 jsp 引擎需要读取 jsp file ,那么就需要知道这个 jsp file 的编码,以防里面的非英文字符转化到 servler code 时不一致。当然contentType也有这个副作用,下面再说。
注意:
第一次默认使用 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 没用了,毕竟还有上述的特殊条件。
- 大小: 56 KB
分享到:
相关推荐
接下来,只需将此JSP页面放在项目的`src/main/webapp/`目录下,并确保Maven构建完成后,Tomcat能够正确解析并运行这些JSP页面。 #### 总结 通过在Maven项目中引入`tomcat-jsp-api`依赖,可以极大地简化开发过程,...
### jsp中charset和pageEncoding知识点详解 #### 一、基本概念 在Web开发中,尤其是在使用JavaServer Pages (JSP) 进行网页开发时,经常会遇到字符集(Charset)与页面编码(Page Encoding)的相关问题。这两个...
这种情况下,`pageEncoding`确保了JSP文件在编译时使用UTF-8编码,而`contentType`则确保了客户端接收到的内容也是使用UTF-8编码进行解析,从而有效地避免了乱码问题的发生。 ### 总结 综上所述,`pageEncoding`和...
反之,如果contentType正确,但pageEncoding不匹配,服务器在处理JSP源文件时就可能出现乱码,即使最终发送到浏览器的数据编码正确,也无法弥补源文件解析阶段的错误。 总的来说,理解和正确使用JSP页面中的...
JSP还提供了注释功能,`<%-- --%>`用于在源代码中添加注释,不被浏览器解析。通过这些元素和指令,开发者可以构建复杂、灵活的Web应用程序,实现动态内容的生成和页面逻辑的处理。在实际应用中,JSP通常结合Servlet...
当JSP页面被服务器解析并转换为Java源代码(.java文件)时,`pageEncoding` 就决定了JSP文件中字符如何被正确地读取和转换。如果`pageEncoding` 设置为错误的编码,例如页面实际是GBK编码,但设置了UTF-8,那么在...
### JSP内置对象解析 JSP(Java Server Pages)是一种基于Java的服务器端技术,用于创建动态网页。在JSP中,内置对象是其核心特性之一,由JSP容器自动提供,无需显式声明即可使用。这些内置对象简化了开发者处理...
在Web开发中,尤其是使用Java Server Pages(JSP)进行页面渲染时,经常会遇到`pageEncoding`和`contentType`属性,并且它们都涉及到`charset`这一概念。正确理解这些属性及其之间的差异对于确保网页内容能够被正确...
- **解析**: 在给定内容的第一题中提到,“JSP页面以()为扩展名进行保存”,正确答案应为 B .jsp。 ### 2. page 指令的 import 属性 - **知识点**: `page` 指令中的 `import` 属性用于在 JSP 页面中引入外部的 ...
- `pageEncoding`属性:定义JSP文件本身的编码,确保源代码的正确读取。 4. `page`指令的注意事项: - 一个JSP页面中可以有多个`<%@ page %>`指令,但同一属性只能设置一次,除非是`import`属性,因为它类似Java...
### JSP与Servlet技术解析 #### 一、概述 JSP (Java Server Pages) 是一种基于Java技术的服务器端脚本语言,它被用来创建动态网页。与传统的Servlet相比,JSP提供了更丰富的功能和更简便的方式来处理Web应用程序中...
### JSP脚本元素指令及动作知识点解析 #### 一、选择题解析 **1.1 关于jsp指令描述正确的是:** - **正确答案:A** - **解析:** JSP指令是用来设置JSP页面的一些特性或者行为的,它们以`开始,以`%>`结束。例如`...
### JSP解析与内置对象详解 #### 一、JSP简介及启动网页 JSP(Java Server Pages)是一种用于创建动态网页的技术标准。它通过在HTML文档中嵌入Java代码来实现动态内容的生成。当用户请求一个JSP页面时,服务器会先...
例如,确保`pageEncoding`属性设置为正确的字符编码,并且没有禁止EL表达式的解析: ```xml <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <pageEncoding>UTF-8</pageEncoding> <el-...
charset=UTF-8" pageEncoding="UTF-8"%> ``` 3. HTTP头信息设置:在Servlet或者Filter中设置响应头的字符集,例如: ```java response.setContentType("text/html;charset=UTF-8"); ``` 4. 修改Web.xml配置:...
- `pageEncoding`属性:此属性用于定义JSP文件本身的编码,当JSP被解析和转换为Java源代码时,JSP引擎会根据此设置读取和处理文件。在示例中,`pageEncoding="utf-8"`表示JSP文件使用UTF-8编码,这是推荐的编码方式...
【JSP(Java Server Pages)基础与实例解析】 JSP(Java Server Pages)是Java平台上的动态网页技术,它允许开发者将HTML代码与Java代码相结合,以创建交互式的Web应用程序。JSP的核心概念在于分离了内容的显示和...
1. 添加Tomcat依赖:因为JSP解析需要Servlet容器,所以我们需要在`pom.xml`中引入Tomcat的starter,如下: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-tomcat ``` 2. 关闭...
1. `pageEncoding`仅在JSP编译阶段起作用,用于保证JSP源文件中的字符正确解析为内部的Unicode形式。如果JSP文件的编码与`pageEncoding`声明不符,那么在编译时就可能出现乱码,导致编译错误或者生成的Java源代码...