开发过程及开发体会

通常新建一个网页,出来的是pageEncoding=“ISO-8859-1” 这时候在JSP页面里输入中文字符会提示错误。然后就了解到,pageEncoding指的是最浅显的一层:JSP文件中不能识别中文字符,这时候把pageEncoding属性改为UTF-8即可。
那么contentType又是什么意思呢,百度可知:
JSP文件部署到Web应用服务器(Tomcat)后,要经过四个阶段能返回给浏览器。
1、首先浏览器发送请求,服务器会将JSP文件中的内容转换成java语言,也就是Servlet文件(即.java文件)。
2、然后将这个java文件编译为一个字节码文件(即.class文件)。
3、最后Web应用服务器加载转换后的Servlet实例,处理客户端的请求并返回HTML格式的响应回应给浏览器。
所以可以知道,上述的pageEncoding是指用何种编码方案转换成java文件,也就是第一个步骤。而contentType的属性则是关乎第三步,Web应用服务器会根据controlType的属性来采取编码方案返回到你的浏览器上进行显示。
经过试验发现,新建的JSP文件中只有pageEncoding是有初始值的。按理来说,应该将pageEncoding和contentType的属性都改为UTF-8才能正确的显示中文字符,光是pageEncoding的话,只是第一步的翻译正确了而已,返回仍然不能显示中文字符。
带着疑惑去百度查资料,contentType的默认值是ISO-8859-1,但是如果你定义了pageEncoding的属性值,那么就默认contentType也与其相一致。所以将pageEncoding的属性值改为UTF-8后,contentType的值也变成了UTF-8。

猜你喜欢

转载自www.cnblogs.com/babaishere/p/9385876.html