JSP中的pageEncoding和contentType属性(转)
关于JSP页面中的pageEncoding和contentType两种属性的区别: pageEncoding是jsp文件本身的编码 contentType的charset是指服务器发送给客户端时的内容编码 JSP要经过两次的“编码”,第一阶段会用pageEncoding,第二阶段会用utf-8至utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType。 第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码(即.java),如果pageEncoding设定错了,或没有设定,出来的就是中文乱码。 第二阶段是由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二进制码,输出的结果,也就是在客户端见到的,这时隐藏在阶段一和阶段二的参数contentType就发挥了功效 contentType的設定. pageEncoding 和contentType的预设都是 ISO8859-1. 而随便设定了其中一个, 另一个就跟着一样了(TOMCAT4.1.27是如此). 但这不是绝对的, 这要看各自JSPC的处理方式. 而pageEncoding不等于contentType, 更有利亚洲区的文字 CJKV系JSP网页的开发和展示, (例pageEncoding=GB2312 不等于 contentType=utf-8)。 jsp文件不像.java,.java在被编译器读入的时候默认采用的是操作系统所设定的locale所对应的编码,比如中国大陆就是GBK,台湾就是BIG5或者MS950。而一般我们不管是在记事本还是在ue中写代码,如果没有经过特别转码的话,写出来的都是本地编码格式的内容。所以编译器采用的方法刚好可以让虚拟机得到正确的资料。 但是jsp文件不是这样,它没有这个默认转码过程,但是指定了pageEncoding就可以实现正确转码了。 举个例子: <%@ page contentType="text/html;charset=utf-8" %> 大都会打印出乱码,因为我输入的“你好吗”是gbk的,但是服务器是否正确抓到“你好吗”不得而知。 但是如果更改为 <%@ page contentType="text/html;charset=utf-8" pageEncoding="GBK"%> 这样就服务器一定会是正确抓到“你好吗”了。 |
转载于:https://www.cnblogs.com/qqnnhhbb/archive/2007/09/01/878106.html
JSP中的pageEncoding和contentType属性(转)相关推荐
- JSP页面中的pageEncoding和contentType两种属性
关于JSP页面中的pageEncoding和contentType两种属性的区别: pageEncoding是jsp文件本身的编码 contentType的charset是指服务器发送给客户端时的内容 ...
- 关于jsp页面中的pageEncoding和contentType以及html中的meta标签中字符集的设置(转)...
转载:<关于JSP页面中的pageEncoding和contentType两种属性的区别> pageEncoding是jsp文件本身的编码 contentType的charset是指服务器 ...
- jsp中提供的四种属性范围
参考:http://www.cnblogs.com/xdp-gacl/p/3781056.html 1.当前页:一个属性只能在一个页面中取得,跳转到其他页面无法取得 2.一次服务器请求:一个页面中设置 ...
- jsp中的contentType与pageEncoding的区别和作用
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> pag ...
- JSP中四种属性范围
在JSP中提供了四种属性的保存范围,所谓属性保存范围,指的就是一个设置的对象,可以在多少个页面中保存并继续使用. 四种属性范围: pageContext 在一个页面中保存属性,跳转之后无效. ...
- JSP contentType 属性
JSP 的page指令 的contentType属性用于在发送到客户端的响应头中设置文档的MIME 类型. MIME代表多用途 Internet 邮件扩展.MIME 类型是一种告诉浏览器应该打开文件的 ...
- java 拖放文字_myeclipse2014如何实现jsp中的html代码的文字拖放
本帖最后由 liyihongcug 于 2015-3-5 16:53 编辑 把 jsp打开 (visual jsp editor) 之后上班区 单击右键 show --- pallette 就可以了 ...
- JSP中的page指令常用的属性
JSP中指令使用的格式: <%@指令名 属性名="属性值" 属性名="属性值"-%> <%@page pageEncoding="u ...
- 在jsp中调用常量类中的属性值
在jsp中想要调用常量类中的属性值方法: 1. 在jsp中导入此常量类 <%@page import="com.Zyp.constant.FlagConstant"%& ...
最新文章
- Java学习总结:45(字符编码)
- 刷牙刷了这么多年,我们居然都搞错了!
- python编程从入门到实践读书笔记-《Python编程:从入门到实践》项目部分读书笔记(二)...
- 关于Javascript闭包的理解
- 一文理清面向对象(封装、继承、多态)+ 实战案例
- popstate_HTML onpopstate 属性 - Break易站
- 电脑软件:巧用微软小工具解决日常问题!
- 配置IPsec on GRE Tunnel with IOS Firewall and NAT
- Java描述设计模式(11):观察者模式
- Kafka和的安装与配置
- UI设计为什么要使用Figma?
- cocos2D创建一组单选按钮菜单
- Mysql 数字类型转换函数
- 接口 java性能_MyPerf4J 一个极快的Java接口性能监控和统计工具
- Rpm另类用法加固Linux安全
- VC2015搭建OpenCV环境(超详细教程)
- eclipse中追加html模板,Eclipse创建自定义HTML5,JSP模板
- it运维工程师的工作是做什么的?累吗?
- c语言函数定义时涉及的基本要素是什么,C语言基础:函数的定义与调用
- 图像处理:双边滤波算法
热门文章
- 日常生活小技巧 -- win10造字
- Breaking the Ledger Security Model
- 对深度学习的逃逸攻击 — 探究人工智能系统中的安全盲区
- 学习 Android O HIDL
- JZOJ 3804. 【NOIP2014模拟8.24】小X 的AK 计划
- 用Java统计姓氏个数_JAVA统计数字个数
- java中如何获得屏幕的宽度和高度_在Android中获取屏幕宽度和高度
- JavaScript怎么安装_几句话说清楚JavaScript、V8引擎、NodeJS、NMP,到底是什么东东...
- mysql如何处理图片吗_如何解决mysql插入图片后缀名问题?
- 关于webservice的经典理解