成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Servlet源文件到Class的過程

開發 后端
本文介紹Servlet源文件到Class的過程,以及討論Servlet的編譯過程并跟蹤其中的中文變化。

Servlet源文件到Class的過程

Servlet源文件是以“.java”結尾的文本文件。本節將討論Servlet的編譯過程并跟蹤其中的中文變化。

用“javac”編譯Servlet源文件。javac可以帶“-encoding < Compile-charset>”參數,意思是“用<  Compile-charset >中指定的編碼來解釋Serlvet源文件”。

源文件在編譯時,用< Compile-charset>來解釋所有字符,包括中文字符和ASCII字符。然后把字符常量轉變成Unicode字符,最后,把Unicode轉變成UTF。

在Servlet中,還有一個地方設置輸出流的CharSet。通常在輸出結果前,調用HttpServletResponse的 setContentType方法來達到與在JSP中設置< Jsp-charset>一樣的效果,稱之為< Servlet-charset>。

注意,文中一共提到了三個變量:< Jsp-charset>、< Compile-charset>和< Servlet-charset>。其中,JSP 文件只與< Jsp-charset>有關,而< Compile-charset>和< Servlet-charset>只與Servlet有關。

  1. import javax.servlet.*;  
  2. import javax.servlet.http.*;  
  3. class testServlet extends HttpServlet  
  4. {  
  5. public void doGet(HttpServletRequest req,HttpServletResponse resp)  
  6. throws ServletException,java.io.IOException  
  7. {  
  8. resp.setContentType("text/html; charset=GB2312");  
  9. java.io.PrintWriter out=resp.getWriter();  
  10. out.println("");  
  11. out.println("#中文#");  
  12. out.println("");  
  13. }  

該文件也是用UltraEdit for Windows編寫的,其中的“中文”兩個字保存為“D6 D0 CE C4”(GB2312編碼)。

開始編譯。下表是< Compile-charset>不同時,CLASS文件中“中文”兩字的十六進制碼。在編譯過程中,< Servlet- charset>不起任何作用。< Servlet-charset>只對CLASS文件的輸出產生影響,實際上是< Servlet-charset>和< Compile-charset>一起,達到與JSP文件中的< Jsp-charset>相同的效果,因為< Jsp-charset>對編譯和 CLASS文件的輸出都會產生影響。

“中文”從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完全一樣。

CLASS文件中的中文表示法是不是昭然若揭了?OK,接下來看看CLASS又是怎樣輸出中文的呢?

【編輯推薦】

  1. Servlet Context的范圍
  2. 淺析Servlet 3.0 API的概念
  3. Servlet注釋與部署描述符
  4. Java Servlet和Servlet 3.0的新特性
  5. Servlet和JSP潛在的隱患
責任編輯:佚名 來源: 中國IT實驗室
相關推薦

2009-07-09 18:12:53

Servlet源文件

2020-10-19 09:09:46

Class文件加載過程

2009-07-08 14:22:36

Servlet容器匹配過程

2020-11-17 09:55:48

Java

2009-06-04 09:26:51

struts 源碼struts 資源文件

2010-12-10 14:24:02

JSPServlet

2017-02-07 09:54:43

JVMJavaClass

2013-06-17 17:02:15

Windows PhoWP開發資源文件

2009-07-06 16:18:51

Servlet下載文件

2009-07-06 17:11:38

Servlet文件上傳

2010-02-02 18:02:20

Python源文件

2010-02-03 15:17:58

Python 源文件

2009-08-21 16:13:27

C#讀取資源文件

2011-06-20 14:18:27

Qt 資源 文件

2012-02-03 09:55:06

Delphi

2011-08-15 14:47:28

Cocoa嵌入資源文件

2019-08-15 10:56:10

WebServletSpring mvc

2011-07-14 22:36:37

C++

2009-06-19 16:12:22

Java語言properties

2013-07-30 12:30:57

Windows PhoWindows Pho
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久69精品久久久久久久电影好 | 亚洲成人精品免费 | 伊人电影院av | 欧美6一10sex性hd | 国产资源在线播放 | av在线天堂网 | 国产黄色电影 | 亚洲国产精品视频一区 | 日韩毛片在线免费观看 | 国产91在线 | 中日 | 婷婷开心激情综合五月天 | 美人の美乳で授乳プレイ | 日韩成人在线播放 | 欧美在线资源 | 国产一区二区三区欧美 | 国产日韩欧美精品一区二区三区 | 日韩网站免费观看 | 一区二区三区日韩 | 国产精品久久久久久久久免费丝袜 | 亚洲成人免费观看 | 欧美日韩国产精品一区二区 | 久久久精品网 | 91在线一区 | 国产精品夜夜春夜夜爽久久电影 | 国产午夜精品久久久 | 少妇性l交大片免费一 | 九九九视频在线 | aaaa日韩 | 国产资源在线视频 | 97久久精品午夜一区二区 | 人人做人人澡人人爽欧美 | 91在线播| 亚州综合在线 | 国产欧美精品一区二区三区 | 亚洲欧美综合 | 日韩成人精品视频 | 久久伊 | 久久久久久久夜 | av网站在线播放 | 99久久久国产精品免费消防器 | 99热欧美|