亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? servlet 和 xml:互為補充(一)(轉).txt

?? java學習文檔
?? TXT
字號:
作者:zergman
email: zergman@chinaasp.com
日期:2001-6-15 13:57:18
[TABLE]                                 [TD]                                 [#FFFFFF]                                 [b]Download it now![/b][/#]                                 [/TD]                             [/TR]                             [TR]                                 [TD]                                                          [url href=ftp://www6.software.ibm.com/software/developer/library/servlets-and-xml.pdf][B]PDF[/B][/url]                                  (79.4 KB)
                                 [url href=http://www.adobe.com/prodindex/acrobat/readstep.html]Free Acrobat™ Reader[/url]                                 [/TD]                             [/TR]-->[TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/servlets-and-xml/index_eng.shtml][img]http://www.cn.ibm.com/developerWorks/i/src.jpg[/img][/url] [/TD][/TR][/TABLE]
[b]Servlet 和 XML:互為補充[/b]
Doug Tidwell 
developerWorks 職員 
2000 年 4 月
[TABLE][TR][TD][#ffffff][B]內容:[/B][/#][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD] [url href=http://www.cn.ibm.com/developerWorks/java/servlets-and-xml/index.shtml#2]我們的第一個 servlet 示例[/url][/TD][/TR][TR][TD] [url href=http://www.cn.ibm.com/developerWorks/java/servlets-and-xml/index.shtml#3]一個基本的 servlet[/url][/TD][/TR][TR][TD] [url href=http://www.cn.ibm.com/developerWorks/java/servlets-and-xml/index.shtml#4]生成 XML 段[/url][/TD][/TR][TR][TD] [url href=http://www.cn.ibm.com/developerWorks/java/servlets-and-xml/index.shtml#5]與數據庫對接[/url][/TD][/TR][TR][TD] [url href=http://www.cn.ibm.com/developerWorks/java/servlets-and-xml/index.shtml#6]小結[/url][/TD][/TR][TR][TD] [url href=http://www.cn.ibm.com/developerWorks/java/servlets-and-xml/index.shtml#resources]參考資料[/url][/TD][/TR][TR][TD] [url href=http://www.cn.ibm.com/developerWorks/java/servlets-and-xml/index.shtml#author]作者簡介[/url][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][/TABLE]
[BLOCKQUOTE]研究 Java servlet 和 XML 如何共同生成 XML 文檔和 DOM 樹,以及它們如何與數據庫對接。本文包括幾項有用的技術:使用 HTTP 參數控制 DOM 樹的處理與生成,而無需 XML 源文檔。[/BLOCKQUOTE]

對 Java 程序員來說,Servlet 和 XML 是最令人振奮的兩項技術。本文是為 2000 年 2 月 17 日舊金山 City Java 用戶組準備的演示文稿。在本文中您將看到如何使用 servlet 組成一個簡單的 XML 文檔,構建一個 DOM 樹,并將部分內容顯示在用戶屏幕上,最后您將看到如何從一個數據庫查詢生成 XML。
對于本文討論的示例來說,我們將擴展 HTTPServlet 類。HTTPServlet 類提供了通常與 CGI 程序相關的功能。它支持 put 和 get,并且使您的代碼具有對 HTTP 請求標頭的完全訪問權,包括 UserAgent 域。我們將創建一些簡單的 servlet,并說明它們如何處理以 XML 標簽標記的信息。在這一過程中我們還將說明文檔對象模型 (DOM) 的一些方法。這些簡單的應用程序將使您了解當將 servlet 和 XML 組合在一起時您能夠做哪些事情。
[b]第一個 servlet 示例[/b] 
作為開始,我們將編寫一個用來生成 XML 文檔的 10 行 servlet。在構建理解 XML 的 servlet 時,我們將按以下三個步驟進行: [OL][LI]將內容類型設為 text/xml。 [LI]創建 XML 文檔。 [LI]將 XML 文檔寫回客戶機。 [/LI][/OL]
在我們的大多數 Servlet 中,主要精力放在第二步。我們可能根據數據庫查詢創建一個 XML 文檔,也可能基于從客戶傳送來的 HTTP 參數生成它,或者也可能使用其他類型的數據檢索或生成方法。在本文的示例中,將主要考慮 HTTP 參數和數據庫查詢。
[b]一個基本的 servlet[/b] 
對于第一個示例,第二步“創建 XML 文檔”[I]不是[/I]我們所關心的;我們只想生成一個有效的 XML 文檔。我們已將文檔硬編碼到源代碼中,如清單 1 所示。[TABLE][TR][TD]Color-coding our colorful coding[/b] -->
[B]彩色編碼[/B] 
彩色編碼清單是本文的一個特色,我們正在 dW 進行試驗。為了生成我們的彩色編碼清單,我正在使用一些開放源代碼的工具。首先,我將文檔(Java、HTML、XML 等)載入 Emacs 中。Emacs 定義了關鍵字、注釋、函數名以及其他編程語言構件(大約有十多種)的顏色。在 Emacs 載入文件并為其加上顏色以后,我使用 HTMLize 程序包,這是一種用曾經流行的 Emacs Lisp 語言編寫的開放源代碼實用工具。HTMLize 接收一個清單(這個清單看起來與在 Emacs 中完全一樣),然后將其轉換為 HTML。結果將是一個完全彩色編碼的文件,它突出顯示關鍵字、注釋、函數名等。
請告拆我們您對這些新的、改進的代碼清單的想法。
如果您也想這樣做,請參閱[url href=http://www.cn.ibm.com/developerWorks/java/servlets-and-xml/index.shtml#resources]參考資料[/url]中的相應鏈接。[/TD][/TR][/TABLE]
[b]清單 1. xmlfromscratch.java[/b] [TABLE][TR][TD][PRE][#993333]public[/#] [#993333]class[/#] [#006600]xmlfromscratch[/#] [#993333]extends[/#] [#006600]HttpServlet[/#] {  [#993333]public[/#] [#006600]void[/#] [#666633]service[/#]([#006600]HttpServletRequest[/#] [#000066]request[/#],                      [#006600]HttpServletResponse[/#] [#000066]response[/#])    [#993333]throws[/#] [#006600]IOException[/#], [#006600]ServletException[/#]  {    response.setContentType([#0000ff]"text/xml"[/#]);    [#006600]PrintWriter[/#] [#000066]out[/#] = response.getWriter();        out.println([#0000ff]"<?xml version=\"1.0\"?>"[/#]);    out.println([#0000ff]"<greeting language=\"en_US\">"[/#]);    out.println([#0000ff]"  Hello, World!"[/#]);    out.println([#0000ff]"</greeting>"[/#]);  }}[/PRE][/TD][/TR][/TABLE]
這一段令人興奮的代碼生成的結果如下所示:
[b]清單 2. xmlfromscratch.java 的結果[/b] [TABLE][TR][TD][PRE][#993333]<?[/#][#006600]xml version="1.0"[/#][#993333]?>[/#]<greeting>[#0000ff]  Hello, World![/#]</greeting>[/PRE][/TD][/TR][/TABLE]
您可以查看[url href=http://www.cn.ibm.com/developerWorks/java/servlets-and-xml/xmlfromscratch-src.html]完整清單的 HTML 視圖[/url]或直接查看 [url href=http://www.cn.ibm.com/developerWorks/java/servlets-and-xml/xmlfromscratch.java]Java 源文件[/url]。
[b]生成 XML 段[/b] 
現在,我們已經創建了一個 servlet,它通過硬編碼生成一個沒有意義的簡單 XML 文檔。在下一個 servlet 中,我們從零開始生成一個 DOM 樹,然后將 DOM 樹的一部分顯示在請求者的屏幕上。向請求者發送回的 DOM 樹部分取決于 servlet 接收到的 HTTP 參數。本例展示了幾項有用的技術:使用 HTTP 參數控制 DOM 樹的處理與生成,而無需 XML 源文檔。
清單 3 顯示了處理 HTTP 參數的代碼段:
[b]清單 3. xmlfromdom.java[/b] [TABLE][TR][TD][PRE]  [#993333]public[/#] [#006600]void[/#] [#666633]service[/#]([#006600]HttpServletRequest[/#] [#000066]request[/#],                      [#006600]HttpServletResponse[/#] [#000066]response[/#])    [#993333]throws[/#] [#006600]IOException[/#], [#006600]ServletException[/#]  {    response.setContentType([#0000ff]"text/xml"[/#]);    [#006600]PrintWriter[/#] [#000066]out[/#] = response.getWriter();        [#006600]Enumeration[/#] [#000066]keys[/#];    [#006600]String[/#] [#000066]key[/#];    [#006600]String[/#] [#000066]requestedSubtree[/#] = [#0000ff]""[/#];    keys = request.getParameterNames();    [#993333]while[/#] (keys.hasMoreElements())    {      key = ([#006600]String[/#]) keys.nextElement();      [#993333]if[/#] (key.equalsIgnoreCase([#0000ff]"subtree"[/#]))        requestedSubtree = request.getParameter(key);    }[/PRE][/TD][/TR][/TABLE]
正如在上一個示例中那樣,我們將內容類型設置為 text/xml。在此之后,我們使用 HttpServletRequest.getParameterNames 方法從 HTTP 請求中檢索所有參數。
在處理完這些參數以后,我們需要查找用戶所請求的信息。我們使用的信息從對象中構建 DOM 樹;該 DOM 樹包含了莎士比亞十四行詩的文本,以及關于這首十四行詩的其他信息。我們將根據 HTTP subtree 參數返回 DOM 樹的一部分。清單 4 顯示了構建 DOM 樹的部分代碼:
[b]清單 4. 構建 DOM 樹[/b] [TABLE][TR][TD][PRE]  [#006600]Document[/#] [#000066]doc[/#] = [#990099]null[/#];  [#006600]Element[/#] [#000066]author[/#] = [#990099]null[/#];  [#006600]Element[/#] [#000066]lines[/#] = [#990099]null[/#];  [#006600]Element[/#] [#000066]title[/#] = [#990099]null[/#];   [#993333]public[/#] [#006600]void[/#] [#666633]initialize[/#]()  {      doc = ([#006600]Document[/#])Class.        forName([#0000ff]"org.apache.xerces.dom.DocumentImpl"[/#]).        newInstance();    [#993333]if[/#] (doc != [#990099]null[/#])      {        [#006600]Element[/#] [#000066]root[/#] = doc.createElement([#0000ff]"sonnet"[/#]);        root.setAttribute([#0000ff]"type"[/#], [#0000ff]"Shakespearean"[/#]);          author = doc.createElement([#0000ff]"author"[/#]);          [#006600]Element[/#] [#000066]lastName[/#] = doc.createElement([#0000ff]"last-name"[/#]);        lastName.appendChild(doc.createTextNode([#0000ff]"Shakespeare"[/#]));        author.appendChild(lastName);[/PRE][/TD][/TR][/TABLE]
我們創建了一個 Java 類的實例,該類實現了 DOM Document 接口,然后我們要求那個節點為我們創建各種節點。您很容易重新編寫這個應用程序,使它通過分析 XML 文件生成 DOM 樹。為了簡化這個示例(并減少我的工作量),我們定義了一些實例變量來保存準備為其提供服務的節點的值。這些值在類聲明頂部聲明,并在 initialize 方法中初始化。
最后一步是將被請求的 DOM 樹部分發送給用戶。為了實現這一任務,我們使用一個遞歸方法,printDOMTree,它處理節點及其所有子節點。因為這個方法是遞歸的,所以我們從文檔根節點還是從 DOM 樹的其他節點開始并不重要。如果所請求的是我們知道的一個節點,則可以將這個節點傳遞給方法 printDOMTree。否則,我們可以傳遞 Document 節點。清單 5 顯示了這一步驟。
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产成人在线| 91国内精品野花午夜精品| 欧美大片日本大片免费观看| 日韩成人精品在线| 日韩欧美一级在线播放| 美国十次综合导航| 国产日韩亚洲欧美综合| 成人性生交大合| 玉足女爽爽91| 日韩视频一区二区在线观看| 国产一区二区视频在线| 国产精品网站导航| 色一情一乱一乱一91av| 日韩va欧美va亚洲va久久| 精品久久久久久久人人人人传媒| 国产成人av影院| 亚洲综合激情小说| 欧美不卡一区二区三区| 成人动漫精品一区二区| 亚洲成av人片在线观看| 久久精品一区蜜桃臀影院| 91麻豆国产香蕉久久精品| 青青草伊人久久| 国产精品网站在线播放| 777久久久精品| 欧美一级片在线| 国产黑丝在线一区二区三区| 91精品国模一区二区三区| 九九九久久久精品| 1024成人网| 欧美一区二区三区人| 不卡av在线网| 日韩av中文字幕一区二区| 91福利视频久久久久| 波多野结衣中文字幕一区 | 91香蕉国产在线观看软件| 懂色av一区二区三区免费看| 国产美女精品人人做人人爽| 国内精品自线一区二区三区视频| 秋霞电影一区二区| 蜜臀久久久久久久| 日本三级韩国三级欧美三级| 秋霞成人午夜伦在线观看| 日韩成人一级大片| 久久精品国产在热久久| 久久精品国产亚洲高清剧情介绍| 亚洲电影一区二区| 日韩国产一区二| 精品在线亚洲视频| 国产精品66部| 成人福利视频在线| 欧美最新大片在线看| 欧美亚洲另类激情小说| 欧美日韩一区二区三区免费看| 欧美日韩一区三区| 欧美一区二区日韩| 精品国偷自产国产一区| 久久久午夜精品| 成人欧美一区二区三区黑人麻豆| 一区二区在线电影| 亚洲综合精品自拍| 日韩精品电影在线| 经典三级视频一区| 国产成人精品一区二| 91在线观看污| 欧美男女性生活在线直播观看| 欧美xxx久久| 欧美国产一区视频在线观看| 夜夜夜精品看看| 久久成人麻豆午夜电影| 国产乱淫av一区二区三区| 不卡av免费在线观看| 在线播放欧美女士性生活| 久久久精品免费观看| 亚洲激情成人在线| 精品系列免费在线观看| 99久久久久久99| 日韩一区二区在线观看视频| 亚洲国产精品黑人久久久| 亚洲高清视频的网址| 国产91精品精华液一区二区三区 | 91精品国产一区二区| 国产欧美一区二区精品性| 亚洲国产成人精品视频| 国产一区二区剧情av在线| 在线一区二区视频| 久久嫩草精品久久久久| 亚洲国产精品精华液网站| 国产一本一道久久香蕉| 欧美精品在线一区二区| 中文字幕不卡的av| 玖玖九九国产精品| 91成人免费电影| 国产丝袜美腿一区二区三区| 香蕉久久一区二区不卡无毒影院| 国产成人精品一区二区三区四区 | 91精品麻豆日日躁夜夜躁| 亚洲国产经典视频| 免费成人在线影院| 一本大道av伊人久久综合| 久久综合色之久久综合| 亚洲最色的网站| 成人黄色777网| 亚洲精品一区二区三区精华液 | yourporn久久国产精品| 欧美一区二区三区免费在线看 | 亚洲美腿欧美偷拍| 国产精品一级片| 国产亚洲成av人在线观看导航| 亚洲成人你懂的| 91丨porny丨在线| 国产精品视频九色porn| 国产一区二区免费在线| 欧美一二区视频| 日韩黄色片在线观看| 欧美午夜宅男影院| 亚洲女与黑人做爰| 91丝袜美腿高跟国产极品老师| 国产亚洲综合在线| 韩国av一区二区三区| 日韩午夜精品电影| 丝袜亚洲另类欧美综合| 欧美丝袜丝交足nylons图片| 亚洲精品网站在线观看| 99热精品一区二区| 中文字幕亚洲电影| 972aa.com艺术欧美| 中文字幕亚洲在| 色哟哟一区二区三区| 亚洲欧美日韩一区二区三区在线观看| 不卡的看片网站| 中文字幕人成不卡一区| 不卡av在线网| 亚洲乱码日产精品bd| 色综合久久久久久久久久久| 亚洲欧美另类久久久精品| 91看片淫黄大片一级在线观看| 国产精品电影院| 一本到一区二区三区| 亚洲综合在线免费观看| 欧美人动与zoxxxx乱| 日韩精品1区2区3区| 精品国产伦一区二区三区观看体验 | 久久99精品国产.久久久久久 | 亚洲精品在线网站| 国产一区美女在线| 欧美激情一区二区三区在线| 成人中文字幕合集| 亚洲靠逼com| 欧美日韩国产高清一区二区三区| 日韩电影免费在线| 久久色视频免费观看| 成人开心网精品视频| 一区二区三区欧美在线观看| 欧美日韩亚洲综合| 美女看a上一区| 国产日韩欧美一区二区三区乱码| av电影在线观看一区| 五月开心婷婷久久| 久久亚洲欧美国产精品乐播| 成人伦理片在线| 午夜成人免费电影| 久久久另类综合| 91久久奴性调教| 美女一区二区在线观看| 国产日韩欧美一区二区三区乱码| 91理论电影在线观看| 奇米色777欧美一区二区| 国产精品毛片高清在线完整版| 欧美日韩一区二区三区免费看| 精品一区二区三区在线播放| 国产精品免费观看视频| 欧美日韩高清一区二区三区| 国产盗摄精品一区二区三区在线 | 久久蜜臀精品av| 色94色欧美sute亚洲线路一ni| 免费观看日韩av| 国产精品久久三| 欧美精品久久一区| 成人高清视频免费观看| 日韩黄色免费网站| 中文字幕在线不卡一区| 日韩欧美在线1卡| 97久久超碰精品国产| 蜜桃av一区二区三区| 亚洲三级在线免费观看| 欧美精品一区二区久久久| 在线亚洲高清视频| 国产福利一区二区三区视频在线| 亚洲国产欧美在线| 日本一区二区综合亚洲| 日韩欧美一区中文| 在线观看亚洲成人| 国产91精品久久久久久久网曝门 | 国产精品一区2区| 日韩电影在线一区二区| 亚洲摸摸操操av| 国产亚洲欧美激情| 欧美一区二区精品在线| 91浏览器在线视频|