`
xuyuanshuaaa
  • 浏览: 387753 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

jsp的编码方式

 
阅读更多
关于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"%>

这样就服务器一定会是正确抓到“你好”了。
分享到:
评论

相关推荐

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

    使用JSP传递中文时,常会出现乱码,有时所有的页面虽然都统计一编码方式,仍不能解决。如iframe,需要修改tomcat的编码方式

    Jsp页面中的字符编码方式与乱码解决方法[归类].pdf

    Jsp页面中的字符编码方式与乱码解决方法[归类].pdf

    jsp.rar_jsp

    JSP使用助手,包括常用的jsp函数,编码方式等等,jsp页面编程必备

    基于JSP电子书城系统

    基于JSP电子书城系统 拿来即用,含word版参考文档、含数据库文件、非常方便。 本项目采用mvc设计模式,后台使用java语言进行开发...数据库采用mysql数据库作为数据储存的方式,编码方式统一使用utf-8,使用主外键的方式

    JSP实用技巧集合,jsp编程的一些小技巧总结

    14. jsp中的数据库的连接方式 15. 在jsp中,怎么实现按回车就可提交表单? 16. 在JSP中如何传递数组? 17. 按地址取图片? 18. JSP中如何上传图片到数据库字段? 19. 页面自动刷新? 20. 表单自动提交? 21. 从JSP传...

    用javascript硬编码方式和jquery框架方式完成ajax异步请求

    用javascript硬编码方式和jquery框架方式完成ajax异步请求的示例,不包括源码。直接访问方式是,可以直接在tomcat启动后访问helloAjaxDemo.jsp或是helloJQueryAjaxDemo.jsp。比如:...

    myeclipse10 epf 配置文件 下载 黑色背景等外观 自动提示

    此为myeclipse10的epf格式配置文件,其中设置包括,黑色背景,高亮显示等外观,字体颜色大小,自动提示,java及JSP编码方式UTF-8等全功能均已设置好!非常不错哦

    myeclipse10 epf 配置文件.rar

    myeclipse10 epf 配置文件.rar 此为myeclipse10的epf格式配置文件,其中设置包括,黑色背景,高亮显示等外观,字体颜色大小,自动提示,java及JSP编码方式UTF-8等全功能均已设置好!非常不错哦

    jsp编程技巧集锦

    jsp中的数据库的连接方式 15. 在jsp中,怎么实现按回车就可提交表单? 16. 在JSP中如何传递数组? 17. 按地址取图片? 18. JSP中如何上传图片到数据库字段? 19. 页面自动刷新? 20. 表单自动提交?...

    javajsp中 中文问题详解

    javajsp中 中文问题详解,

    hibernate+struts实现jsp增删改以及分页功能

    hibernate+struts实现jsp增删改以及分页功能! hibernate做数据操作,struts处理表单。 实现了分布功能。附数据库!...(注:如果出现乱码,大家配置一下tomcat的编码方式与数据库的编码方式就行了!)

    jsp中文乱码 jsp mysql 乱码的解决方法

    HTML页面参数—(以浏览器的编码方式发送)—》JSP页面—(以JSP定义的编码方式被编译)—》被JSP引擎编译为*.class文件——》在JSP容器中运行——》传递给Mysql数据库—(以数据库的编码方式读取数据并存储)—》读取...

    Servlet与JSP核心编程第2版

    9.5 对发往客户的url进行编码 9.6 显示客户访问计数的servlet 9.7 累计用户数据的列表 9.8 拥有购物车和会话跟踪功能的在线商店 第ii部分 jsp技术 第10章 jsp技术概述 10.1 对jsp的需求 10.2 jsp的好处...

    网页教程《跟姐姐学JSP》

    5.1. 概念和命名方式 5.2. Read(读取) 5.3. Create(创建) 5.4. Update(更新) 5.5. Delete(删除) 5.6. 用jdbc操作数据库 6. 贴近servlet 6.1. servlet是什么 6.2. jsp与servlet的关系 6.3. 使用servlet改写...

    JSP-JTBC2.0

    2010年,JTBC主推dotnet版本(V2.0)以及jsp版本(V2.0),这2个版本在CMS的操作方式上做了最新的尝试,将我们日常生活中最常用的OS(windows,linux)的操作模式融入到CMS中,摈弃了以往传统的左右分栏的管理模式,使CMS的...

    Explorer4JSP

    简介: Explorer4JSP是一款采用JSP技术编写的工具,用于对Jsp服务下指定目录的文件浏览。Tomcat或其它JavaWeb服务能设置目录文件的浏览,但那是对整个工程而言的,...7.中文名支持,使用UTF8编码可完美支持中文文件名

    JSP对浏览器发送来的数据进行重新编码的两种方式

    这里就涉及到了字符集的设置、字符集的编码方式。 在JSP/Servlet中主要有以下几个地方可以设置编码,pageEncoding=”GB18030″,contentType=”text/html;charset=GB18030″、request.setCharacterEncoding(“GB18030...

    JSP在线销售管理系统.rar

    JSP在线销售管理系统,简易java(easyjf)框架开源订销管理系统(测试版),服务器环境,tomcat5.0,主要实现的功能有订单录入、打印,销售汇总、原料管理、客户管理、生产配料计算、报表打英汇总、系统数据管理及维护等...

    超级简单全面JSP留言板

    1. 本程序实在Eclipse Java EE IDE +Mysql+Weblogic10.3+jdk1.6下完成开发的。...5. 部署本程序时需要把 mysql的默认编码方式改为utf8,因为本程序所有的页面都是UTF-8编码。 6. 本程序默认的数据库用户和密码都是root。

    网上书店系统jsp+mysql

    网上书店系统jsp+mysql 使用了些许的css和js 设计内容: (1)用户可自行注册并登录书店系统进行买书; (2)登录用户可以购买图书,但游客只能浏览; (3)搜索能以不同排序方式显示图书列表(如购买最多、最新出版...

Global site tag (gtag.js) - Google Analytics