程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> XML和JSP的聯手(1)

XML和JSP的聯手(1)

編輯:關於JSP

概覽:


xml和jsp是這些日子中最熱的東西。本文介紹如何聯合這兩種技術來建設動態網站。你還可以同時看一下dom,xpath,xsl,和其它java-xml技術的示例代碼。


我們在此假設你已經了解javaserver pages(jsp)和extensible markup language (xml)。但也許你對該如何綜合使用它們仍然有些迷惑。


jsp的應用很容易,你可以用它設計網頁,使之看起來似乎和html一樣。唯一的不同是jsp是動態執行的。例如,它們可以處理表單form和讀寫數據庫。

xml的應用的說明則比較困難。似乎所有的產品都支持它,每個人也好象都以各種不同目的在使用它。


在本文中,你可以看到如何使用一種相當先進的方式用xml來設計一個系統。許多站點有巨量數據收集並以一種很標准或很不標准的方式來顯示它們。我將設計一個系統,它使用xml文件在web服務器上進行存儲,並用jsp來顯示數據。


xml vs 關系型數據庫

"等一下!"你可能問,"你用xml文件存儲數據嗎?為什麼不使用數據庫?"

這個問題問的很好。我的回答是,對很多目的用途來說,用數據庫太過浪費了。.要使用一個數據庫,你必須安裝和支持一個分離的服務器處理進程(a separate server process),它常要求有安裝和支持它的administrator。你必須學習sql, 並用sql寫查詢,然後轉換數據,再返回。而如果你用xml文件存儲數據,將可減少額外的服務器的負荷。還有,你還找到了一個編輯數據的簡單方法。你只要使用文本編輯器,而不必使用復雜的數據庫工具。xml文件很容易備份,和朋友共享,或下載到你的客戶端。同樣的,你可以方便地通過ftp上載新的數據到你的站點。


xml還有一個更抽象的優點,即作為層次型的格式比關系型的更好。 它可以用一種很直接的方式來設計數據結構來符合你的需要。你不需要使用一個實體-關系編輯器,也不需要使你的圖表(schema)標准化。 如果你有一個元素(element)包含了另一個元素,你可以直接在格式中表示它,而不需要使用表的關聯。


注意,在很多應用中,依靠文件系統是不夠充分的。如果更新很多,文件系統會因為同時寫入而受到破壞。數據庫則通常支持事務處理,可以應付所發生的請求而不至於損壞。對於復雜的查詢統計要有反復、及時的更新,此時數據庫表現都很優秀。當然,關系型數據庫還有很多優點,包括豐富的查詢語言,圖表化工具,可伸縮性,存取控制等等。


(注意:你可以使用簡單的文件鎖定來提供一個事務處理服務器,你還可以在java中執行一種 xml index-and-search工具,不過這已經是另外一篇文章的主題了。)


在下面這樣的案例中,正如大多數中小規模的、基於發布信息的站點一樣,你可能涉及的大多數數據存取都是讀,而不是寫,數據雖然可能很大,但相對來說並沒有經常的更新變化,你也不需要做很復雜的查詢,即使你需要做,也將用一個獨立的查詢工具,那麼成熟的rdbms的優點消失了,而面向對象型的數據模型的優點則可以得到體現。


最後,為你的數據庫提供一個查詢器外殼來進行sql查詢並將他們轉化進入xml stream也是完全有可能的。


所以你可以選擇這二種方式之一。xml正變成一種非常健壯的,便於編程的工具,作為某個成熟的數據庫的前端工具來進行存儲和查詢。(oracle的xsql servlet即是這種技術的一個很好的例子。)


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved