直播中
所有人都喜歡照相!他們喜歡展示自己的,親人的,朋友的,度假時的照片,而 web 是他們展示的好地方。-- 即使千里之外的親戚都可以看到。我將著重于定義一個單獨的picture對象。(這一應(yīng)用的源代碼在resources中可以取得) 。該對象描述了表示一張照片所需要的字段:title,date,一個可選的標(biāo)題,以及對圖片來源的一個指向。
一個圖象,需要它自己的一些字段:源文件( gif/jpeg)的定位,寬度和高度像素(以協(xié)助建立<img> 標(biāo)記。 這里可以看到一個很簡單的優(yōu)點,即使用文件系統(tǒng)來代替數(shù)據(jù)庫的時候,你可以將圖形文件存放在與數(shù)據(jù)文件相同的目錄中。
最后,讓我們來用一個元素擴展圖片記錄,該元素定義了一套縮略圖(thumbnail)來用于內(nèi)容表或其它地方。這里我用了和先前同樣定義的圖片內(nèi)容。
一張圖片的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
-- 于是你的文件系統(tǒng)會是這樣的:
summer99/alex-beach.pix
summer99/alex-beach.jpg
summer99/alex-beach-sm.jpg
summer99/alex-beach-med.jpg
summer99/alex-snorkeling.pix
etc.
技術(shù)篇
俗話說,要剝下貓的皮的方法何止一種。同樣,將xml數(shù)據(jù)放到j(luò)sp中也不止一種辦法。這里列舉了其中一些方法,(其實,很多其它工具也可以做得同樣出色。)
dom: 你可以使用類(classes)來調(diào)用dom接口(interface)對xml文件進行分析檢查。
xmlentrylist: 你可以使用我的代碼來將xml加載到name-value pairs 的java.util.list中。
xpath: 你可以使用一個 xpath處理器(如resin)通過路徑名在xml文件中定位元素。
xsl:你可以使用某種xsl處理器將xml轉(zhuǎn)換成為html。
cocoon: 你可以使用開放源碼的cocoon framework
運行你自己的bean: 你可以寫一個外殼類(wrapper class),使用某種其它技術(shù)來將數(shù)據(jù)加載到字定義的javabean中。
請注意這些技術(shù)將和一個你從另外來源取得的xml stream執(zhí)行得同樣出色,例如一個客戶端或者一個應(yīng)用服務(wù)器。
javaserver pages
jsp規(guī)范有很多替身,不同的jsp產(chǎn)品表現(xiàn)也不盡相同,不同版本之間也有差別。我選擇了tomcat,這基于以下原因:
它支持大多數(shù)最新的jsp/servlet規(guī)范
它受到 sun和apache認同
你可以獨立運行它而不需要另外配置一個web服務(wù)器。
它是開放源碼的
你可以選擇任何你喜歡的jsp引擎,但要自己配置它,它必須至少支持jsp 1.0規(guī)范。0.91和1.0之間有了許多區(qū)別。而jswdk (java server web development kit) 可能剛剛好地適合要求。