JSP页面编码问题研究(原创)
jsp(SUN企业级应用的首选)页面编码问题研究
Motivition
曾经有一个网友问过我这样一个问题:
<%@page contentType="text/html; charset=UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
中国
</body>
</html>
这个页面在为什么在运行的时候“中国”会变成乱码?
Analysis
Key Step
对于上面问题的分析需要从整个jsp(SUN企业级应用的首选)页面请求的生命周期来看,一般的都需要经历下面几个阶段:
1。应用服务器根据jsp(SUN企业级应用的首选)页面生成一个Java文件
2。应用服务器调用java.exe将Java文件编译成一个Servlet对应的class文件
3。用户的浏览器请求jsp(SUN企业级应用的首选)对应的Servlet,Web容器起一个线程执行Servlet,将数据返回给客户端浏览器
4。用户的IE根据返回的数据,将结果显示给用户。
Key Step Analysis
为了更好的了解编码问题,我们暂时先从上面的四个环节一步步来分析,根据分析的结果,来得到最终的解决办法。
1. 在应用服务器根据jsp(SUN企业级应用的首选)页面生成Java文件阶段。
应用服务器会将整个jsp(SUN企业级应用的首选)页面的代码读取出来,然后写到一个新的JAVA文件中,在读文件和写文件的时候都牵涉到一个编码问题,这个编码问题应用服务器是如何解决的呢?我研究tomcat(一个很好用的JSP运行平台)应用服务器的源代码,发现tomcat(一个很好用的JSP运行平台)中有一个pageEncoding
补充:Web开发 , Jsp ,