jsp的page指令属性ContentType和pageEncoding他两个有什么区别

来源:百度知道 编辑:UC知道 时间:2024/07/07 14:34:37
jsp的page指令属性ContentType和pageEncoding他两个有什么区别

一般HTML文档有一<meta http-equiv="Content-Type" content="text/html; charset=gbk">来标识客户端编码,即指定访问服务器的浏览器是用什么编码,而jsp中page指令中的ContentType和pageEncoding属性是完全一样的,都是指定服务端对JSP文件进行编译时指定的编码方式,这一点到Tomcat的work目录中或其他web容器中的相应目录中查看就会发现,无论使用ContentType还是pageEncoding,编译之后的代码都是一样的即response.setContentType("text/html;charset=GBK");。不过一般建议使用pageEncoding。

关于:pageEncoding 和 ContentType

ContentType— 指定的是JSP页最终 Browser(客户端)所见到的网页内容的编码.
就是 Mozilla的 Character encoding, 或者是 IE6的 encoding. 例如 JSPtw Forum 用的contentType就是 Big5.
pageEncoding — 指定JSP编写时所用的编码 ,TOMCAT出来的网页, 用的是contentType.

pageEncoding
在JSP标准的语法中,如果pageEncoding属性存在,那么JSP页面的字符编码方式就由pageEncoding决定,否则就由contentType属性中的charset决定,如果charset也不存在,JSP页面的字符编码方式就采用默认的ISO-8859-1。

ContentType
ContentType属性指定了MIME类型和JSP页面回应时的字符编码方式。MIME类型的默认值是“text/html”; 字符编码方式的默认值是“ISO-8859-1”. MIME类型和字符编码方式由分号隔开

pageEncoding的内容只是用于jsp输出时的编码,不会作为header发出去的。

cont