DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML基礎 >> XML與JSP概覽
XML與JSP概覽
編輯:XML基礎     

 

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即是這種技術的一個很好的例子。)
應用篇:一個在線相冊
所有人都喜歡照相!他們喜歡展示自己的,親人的,朋友的,度假
時的照片,而 Web 是他們展示的好地方。-- 即使千裡之外的親戚
都可以看到。我將著重於定義一個單獨的Picture對象。(這一應用的
源代碼在Resources中可以取得) 。該對象描述了表示一張照片所需
要的字段:title,date,一個可選的標題,以及對圖片來源的一個指
向。
一個圖象,需要它自己的一些字段:源文件( GIF/JPEG)的定位,寬
度和高度像素(以協助建立<img> 標記。 這裡可以看到一個很簡單
優點,即使用文件系統來代替數據庫的時候,你可以將圖形文件存
放在與數據文件相同的目錄中。
最後,讓我們來用一個元素擴展圖片記錄,該元素定義了一套縮略
圖(thumbnail)來用於內容表或其它地方。這裡我用了和先前同樣
定義的圖片內容。
一張圖片的XML表示可以是這樣的:
<picture>
<title>Alex On The Beach</title>
<date>1999-08-08</date>
<caption>Trying in vain to get a tan</caption>
<image>
<src>alex-beach.jpg</src>
<width>340</width>
<height>200</height>
</image>
<thumbnails>
<image>
<src>alex-beach-sm.jpg</src>
<width>72</width>
<height>72</height>
</image>
<image>
<src>alex-beach-med.jpg</src>
<width>150</width>
<height>99</height>
</image>
</thumbnails>
</picture>
注意,通過使用XML, 你將一張單獨圖片的全部信息放到了一個單獨
的文件中,而不是將它分散放入3-4個表中。
我們將這稱為 .pix file
-- 於是你的文件系統會是這樣的:
summer99/alex-be

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved