|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
没有那个大公司会傻了吧唧用.net开发大型项目,开发了,那等于自己一半的生命线被微软握着呢。而.net不行,限制在window系统,又是捆绑,鄙视微软之! 关于JSP页面中的pageEncoding和contentType两种属性的区分:
pageEncoding是jsp文件自己的编码
contentType的charset是指服务器发送给客户端时的内容编码
JSP要经由两次的“编码”,第一阶段会用pageEncoding,第二阶段会用utf-8至utf-8,第三阶段就是由Tomcat出来的网页,用的是contentType。
第一阶段是jsp编译成.java,它会依据pageEncoding的设定读取jsp,了局是由指定的编码计划翻译成一致的UTF-8JAVA源码(即.java),假如pageEncoding设定错了,或没有设定,出来的就是中文乱码。
第二阶段是由JAVAC的JAVA源码至javabyteCode的编译,不管JSP编写时分用的是甚么编码计划,经由这个阶段的了局全体是UTF-8的encoding的java源码。
JAVAC用UTF-8的encoding读取java源码,编译成UTF-8encoding的二进制码(即.class),这是JVM对常数字串在二进制码(javaencoding)内表达的标准。
第三阶段是Tomcat(或其的applicationcontainer)载进和实行阶段二的来的JAVA二进制码,输入的了局,也就是在客户端见到的,这时候埋没在阶段一和阶段二的参数contentType就发扬了功能
contentType的O定.
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就能够完成准确转码了。
举个例子:
<%@pagecontentType="text/html;charset=utf-8"%>
多数会打印出乱码,由于输出的“你好”是gbk的,可是服务器是不是准确抓到“你好”不得而知。
可是假如变动为
<%@pagecontentType="text/html;charset=utf-8"pageEncoding="GBK"%>
如许就服务器必定会是准确抓到“你好”了。
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试) |
|