JSP和Servlet對中文的處理過程(4)_JSP教程
推薦:困擾JSP的一些問題與解決方法如今每一個使用servlets的開發(fā)者都知道JSP,一種由Sun公司發(fā)明并花費大量精力加以推行并建構在servlet技術之上的web技術。JSP將servlet中的html代碼脫離了出來,從而可以加速web應用開發(fā)
下節(jié)先討論Servlet從JAVA文件到CLASS文件的轉化過程,然后再解釋從CLASS文件如何輸出到客戶端。之所以這樣安排,是因為JSP和Servlet在輸出時處理方法是一樣的。
Servlet:從源文件到Class的過程
Servlet源文件是以“.java”結尾的文本文件。本節(jié)將討論Servlet的編譯過程并跟蹤其中的中文變化。
用“javac”編譯Servlet源文件。javac可以帶“-encoding ”參數(shù),意思是“用< Compile-charset >中指定的編碼來解釋Serlvet源文件”。
源文件在編譯時,用來解釋所有字符,包括中文字符和ASCII字符。然后把字符常量轉變成Unicode字符,最后,把Unicode轉變成UTF。
在Servlet中,還有一個地方設置輸出流的CharSet。通常在輸出結果前,調用HttpServletResponse的setContentType方法來達到與在JSP中設置一樣的效果,稱之為。
注意,文中一共提到了三個變量:、和。其中,JSP文件只與有關,而和只與Servlet有關。
看下例:
import javax.servlet.*;
import javax.servlet.http.*;
class testServlet extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,java.io.IOException
{
resp.setContentType("text/html; charset=GB2312");
java.io.PrintWriter out=resp.getWriter();
out.println("");
out.println("#中文#");
out.println("");
}
}
該文件也是用UltraEdit for Windows編寫的,其中的“中文”兩個字保存為“D6 D0 CE C4”(GB2312編碼)。
開始編譯。下表是不同時,CLASS文件中“中文”兩字的十六進制碼。在編譯過程中,不起任何作用。只對CLASS文件的輸出產生影響,實際上是和一起,達到與JSP文件中的相同的效果,因為對編譯和CLASS文件的輸出都會產生影響。
表3 “中文”從Servlet源文件到Class的轉變過程
Compile-charset
Servlet源文件中
Class文件中
等效的Unicode碼
GB2312
D6 D0 CE C4
(GB2312)
E4 B8 AD E6 96 87 (UTF)
\u4E2D\u6587 (在Unicode中=“中文”)
ISO-8859-1
D6 D0 CE C4
(GB2312)
C3 96 C3 90 C3 8E C3 84 (UTF)
\u00D6 \u00D0 \u00CE \u00C4 (在D6 D0 CE C4前面各加了一個00)
無(默認)
D6 D0 CE C4
(GB2312)
同ISO-8859-1
同ISO-8859-1
普通Java程序的編譯過程與Servlet完全一樣。
分享:JavaBean 在jsp和serlvle中傳遞技術要點javaBean 在jsp和serlvle中的傳遞技術要點 一、 初始化javaBean 1、 在jsp中 在上一段的代碼中執(zhí)行過程如下: ? 按照scope的參數(shù)尋找相同id的javabean,如果找到了就跳出該; ?
- jsp response.sendRedirect不跳轉的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復習整理
- JSP腳本元素和注釋復習總結示例
- JSP FusionCharts Free顯示圖表 具體實現(xiàn)
- 網(wǎng)頁模板:關于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
- 相關鏈接:
- 教程說明:
JSP教程-JSP和Servlet對中文的處理過程(4)
。