亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用XML和Servlet構建在線問答系統

2019-11-18 12:49:12
字體:
來源:轉載
供稿:網友

  xml ,即可擴展標記語言( Extensible Markup Language ),被譽為構造未來
  Web 的新工具。 Html 著重描述 Web 頁面的顯示格式,而 XML 著重描述的是文檔的內容。 XML 的特長在于描述層次結構的數據,或賦予原本雜亂的信息一種清楚的結構。
    
  在 Web 上,在線測試的問答過程一般是用表單作為用戶界面的,無處不在的網絡連接使得這種測試可在任何地方進行。本文所討論的也正是這樣一個系統。所不同的是,它用XML 描述問題,用 Servlet 動態生成顯示給用戶的 HTML 頁面,并能夠對用戶的回答做出評價。雖然實現類似功能可以有許多種不同方案,但采用 XML 與 Servlet 將使得整個實現過程更為簡單。   
  一、 XML 與 DOM 、 SAX 、 DTD   
  本文假設讀者已經熟悉 Servlet 的實現過程,因而此處不再贅述。 XML 相對較新,下
  面對它的基本概念作簡單介紹。   
  XML 發展自更為復雜的 SGML ( Standard Generalized Markup Language ,標準通用標記語言)。在 SGML 和 XML 中,文檔的構成方法可以由 DTD ( Document Type Definition ,文檔類型定義)描述。 DTD 可以是嵌入的,也可以是一個獨立的文件。 DTD 定義了文檔的合法結構和各組成元素之間的關系。   
  DOM ( Document Object Model ,文檔對象模型)用一種樹狀結構存儲 XML 文檔。 DOM 是一種標準模型,由 W3C 治理。這種包羅萬象的對象模型將所有的文檔元素都看成能夠輕易治理的對象,整個樹狀結構以 Document 對象為根,其余所屬元素及屬性構成
  根的子樹。   
  SAX ( Simple API for XML )是一種基于事件的模型,可用于避免構造文檔完整的樹狀結構。假如文檔非凡龐大或僅對其中一部分感愛好, SAX 就顯得非凡有用了。 SAX事件由解析器在進入或離開文檔、元素、屬性、子樹時產生。該模型可在不關注文檔完整結構的情況下測定其特征或相關數據。   
  本文將使用 XML 解析器創建問題文檔的對象模型,再利用該模型動態生成 HTML 頁面。
  這種實現方法使得該系統不必創建更多分散的 HTML 頁面就可以提供大量問題。   
  現在已經有許多可用的 XML java 解析器。本文選用的是 IBM 的 XML Parser for Java 1.1.16 ( XML4J ),可從 http://www.alphaworks.ibm.com/ 下載。相對其它解析器而言,該解析器所提供的功能最為完善,如同時支持 DOM 和 SAX 等,并提供了最好的文檔。
  二、問題文檔的結構概覽   
  [[The No.1 Picture.]]
  【清單 2 】該類中的所有方法都用于簡化對文檔模型的訪問。它們都基于 W3C 定義的標準 Java 接口,接口定義可在 org.w3c.dom 包中找到。大多數 XML 解析器提供擴展功能,但遵從接口規范有利于提高代碼的兼容性。   
  DomUtil 類的 readDocument方法完成的任務是:對于給定的文件,經解析器分析返回
  Document 對象。該方法的執行過程可以簡述為:創建解析器實例,設置文件輸入流,讀入文件,關閉輸入流,返回 Document 對象。   
  findNode 方法完成的任務是:對于給定的節點對象,在其子樹中搜索并返回與給定名字匹配的孩子節點。它從指定節點開始搜索文檔樹,若當前節點與給定名字匹配,則返回;否則用 getChildNodes方法獲得它的所有孩子節點,遞歸執行上述搜索過程;假如不能找到所要求的節點,則
  返回 null 。   
  getNodeAttribute 方法根據給定的節點及屬性名字,返回其屬性值。假如節點不是一個
  元素( Element )或指定屬性不存在,則返回 null ,否則返回該屬性的字符串值。
    PRintSuBTree方法將以給定節點為根的子樹輸出到指定的 PrintWriter 。該方法也要執行一個遍歷過程,這一點和 findNode方法相似。在這里應該注重的是,雖然瀏覽器能夠自動處理某些結束標記被省略的情況(如 標記和 標記不匹配),但 XML 要求完整地寫出所有開始和結束標記。   
  DOMUtil 類提供了兩個版本的 printSubtree 方法,其中第二個方法多一個根節點參數。一般我們需要輸出的是給定節點下的子樹而非該節點本身,第一個版本較為常用,它只需 PrintWriter 和 Node 兩個參數。   
  節點類型要么是元素( Element ),要么是文本( Text )。對于元素節點, printS
  ubtree方法先輸出對應的開始標記,然后是它的子樹,最后輸出結束標記。開始標記由元素名字在兩邊加上尖括弧構成;結束標記也相似,但要在元素名字前加斜杠。對于文本節點, printSubtree方法直接輸出節點值。    QuestionView 類負責 XML 文檔的
  分析,并按照要求生成 HTML 代碼,如清單 3 所示。當然,實際的分析過程是依靠于XML 解析器的。在建構函數中我們使用 DOMUtil 類來提取所需的節點和屬性,并把它們存儲為實例變量。 getQuestionPage 方法用于生成 HTML 代碼,這是一個相當復
  雜的工作。為便于閱讀和重用,我們把大部分格式化操作封裝為另外一個工具類 HTMLUtil 。 HTMLUtil 類的代碼如清單 4 所示。這些方法帶來的便利之處在于,只需把必要的參數傳遞給它,余下的格式化任務就能夠自動完成了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人夜晚看av| 国模私拍视频一区| 国产精品成人观看视频国产奇米| 久久久精品视频在线观看| 日韩av免费在线播放| 国产在线视频91| 日韩视频精品在线| 日韩在线观看成人| 精品二区三区线观看| 日韩av不卡电影| 久久久国产成人精品| 亚洲大胆人体视频| 亚洲黄一区二区| 欧美高清视频在线| 91影院在线免费观看视频| 午夜精品国产精品大乳美女| 欧美午夜激情视频| 91国偷自产一区二区三区的观看方式| 国产精品视频xxxx| 在线电影av不卡网址| 欧美激情精品久久久久久大尺度| 国产精品亚洲аv天堂网| 成人免费观看49www在线观看| 国产日产欧美a一级在线| 亚洲视屏在线播放| 欧美性猛交视频| 欧美在线观看视频| 亚洲老板91色精品久久| 一区二区三区 在线观看视| 久久久久久久久久久网站| 亚洲欧美在线一区二区| 亚洲福利在线观看| 97超级碰碰碰| 国产欧美精品一区二区三区-老狼| 538国产精品视频一区二区| 96pao国产成视频永久免费| 狠狠爱在线视频一区| 日本a级片电影一区二区| 91久久久久久久| 精品亚洲永久免费精品| 欧美激情精品久久久久久久变态| 国产精品久久色| 欧美日韩中文在线观看| 97精品一区二区视频在线观看| 日韩一区视频在线| 亚洲一区二区三区xxx视频| 亚洲第一精品福利| 国产精品爽黄69天堂a| 亚洲在线第一页| 日本不卡免费高清视频| 狠狠躁夜夜躁人人爽天天天天97| 亚洲成av人乱码色午夜| 日韩中文视频免费在线观看| 精品国产一区二区三区四区在线观看| 国产999精品久久久影片官网| 国产精品久久久久影院日本| 91在线国产电影| 久久精品91久久久久久再现| 成人精品久久av网站| 日韩亚洲一区二区| 欧美中文在线免费| 成人国产精品日本在线| 精品国产一区二区三区四区在线观看| 国内精品小视频| 亚洲片在线资源| 亚洲国语精品自产拍在线观看| 亚洲成人久久久久| 国内伊人久久久久久网站视频| 91成人精品网站| 亚洲图片欧洲图片av| 久久久久久久久久久久av| 日韩欧美在线一区| 亚洲国产精彩中文乱码av| 性日韩欧美在线视频| 91亚洲人电影| 日韩av黄色在线观看| 51久久精品夜色国产麻豆| 亚洲网址你懂得| 日韩av综合网| 中文字幕成人在线| 亚洲片在线资源| 亚洲一区二区三区久久| 欧美午夜影院在线视频| 8x海外华人永久免费日韩内陆视频| 国产日韩在线免费| 国产精品久久久91| 亚洲最大激情中文字幕| 久久中国妇女中文字幕| 日韩精品一区二区视频| 在线精品视频视频中文字幕| 久久伊人91精品综合网站| 亚洲欧美三级伦理| 久热99视频在线观看| 日韩在线观看免费| 国产一级揄自揄精品视频| 欧美寡妇偷汉性猛交| 永久免费看mv网站入口亚洲| 久久久免费高清电视剧观看| 欧美激情一区二区三区在线视频观看| 欧美极品美女视频网站在线观看免费| 国产精品www| 海角国产乱辈乱精品视频| 成人激情av在线| 成人午夜高潮视频| 国产一区红桃视频| 亚洲香蕉在线观看| 欧美高清视频一区二区| 久久成人这里只有精品| 亚洲а∨天堂久久精品喷水| 不卡av电影在线观看| 欧美性猛交xxxx偷拍洗澡| 日韩动漫免费观看电视剧高清| 欧美在线一级va免费观看| 国产精品第三页| 亚洲国产婷婷香蕉久久久久久| 亚洲人成电影网站色www| 91在线网站视频| 97激碰免费视频| 国产欧美日韩综合精品| 国产精品va在线播放我和闺蜜| 国产精品男女猛烈高潮激情| 成人中文字幕+乱码+中文字幕| 欧美精品性视频| 亚洲级视频在线观看免费1级| 亚洲福利精品在线| 国产精品中文久久久久久久| 韩剧1988在线观看免费完整版| 国产精品丝袜一区二区三区| 欧美视频免费在线观看| 亚洲一区二区三区久久| 久久久久免费精品国产| 欧美大奶子在线| 欧美在线一区二区三区四| 日韩电影免费在线观看| 亚洲自拍欧美另类| 国产精品免费视频久久久| 国产精品精品国产| 欧美精品第一页在线播放| 日韩精品视频免费在线观看| 97国产一区二区精品久久呦| 色婷婷av一区二区三区久久| 亚洲男人天堂手机在线| 日韩av影院在线观看| 中文字幕精品www乱入免费视频| 欧美激情亚洲精品| 美女av一区二区| 91国偷自产一区二区三区的观看方式| 久久综合久久八八| 国产日韩精品电影| 日韩欧美a级成人黄色| 国产精品自拍网| 色偷偷亚洲男人天堂| 欧美在线播放视频| 亚洲精品av在线播放| 亚洲欧美综合区自拍另类| 国产午夜精品理论片a级探花| 国产成人avxxxxx在线看| 亚洲免费精彩视频| 色噜噜狠狠色综合网图区| 国产一区二区三区网站| 国产一区二区三区久久精品| www.日韩.com| 久久久影视精品| 国产伦精品一区二区三区精品视频|