page指令中contentType属性和pageEncoding的作用和区别

个人总结:客户端—>jsp(根据pageEncoding编译)—>服务端(根据contentType输出)—>客户端


以下为摘抄:

pageEncoding是jsp文件本身的编码,是指定web容器将jsp编译成java文件时采用什么编码读取jsp文件
contentType的charset设置的编码是指服务器发送给客户端时的内容编码
而客户端访问一个jsp文件要经过如下三个阶段:
1、(第一次访问时)web容器将jsp编译成java文件,这个阶段编译器会根据pageEncoding设置的编码读取jsp文件,翻译成统一的utf-8的Servlet类,如果pageEncoding设置错误或未设置,编译出来的java文件就会出现中文乱码。
2、由javac将java源码编译成class字节码,javac用utf-8编码读取java源码,编译成utf-8编码的二进制文件。
3、web容器载入class字节码文件,将内容输出结果到客户端,这一过程内容的编码为contentType设置的编码。

详情参考博文jsp通过include指令引入html乱码的解决方法

你可能感兴趣的:(java)