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

首頁 > 編程 > JSP > 正文

用XML+JSP實現網頁內容動態顯示的方案

2024-09-05 00:19:38
字體:
來源:轉載
供稿:網友
 

一、xml技術簡介

xml(extensible markup language??可擴展標記語言)是一種 擴展的源標記語言,是可以定義其他語言的語言。

它是sgml的一個簡化子集,這個子集是專為web環境設計的,這就是說,它必須處理面向數據處理的(而不是面向發布的)、生存期短的(實際上是動態產生的)信息。

xml與html對比:

xml語法嚴格,數據與顯示分離,便于其他程序交互和檢索數據。

html語法容錯性大,數據和顯示都在一起,檢索數據困難較大。

xml又明確的dom對象,可以對xml文件進行讀寫添刪數據的操作。

html沒有這種明確的對象來完成該操作。

xml克服了html的種種不足,將網絡上傳輸的文檔規范化,并賦予標簽一定的含義。

xml作為一種網絡系統中通用的數據交換格式迅速得到了支持,使用xml的實際好處有:

結構化??建立有任何復雜層次的數扭模型。

可擴展性??根椐需要定義新的標識。

驗證??檢查數據在結構上的正確性。

獨立與媒介??以多種方式發布內容。

獨立于供應商和平臺??使用標準的商業軟件甚至文本工具處理任何符合(xml標準)的文檔。

xml文檔可以通過可擴展樣式語言xsl(extensible style language xsl)轉換和格式化xml文檔。從而實現數據和頁面樣式的分離。

二、用jsp技術實現xml

jsp提供了一系列的特點,可以非常理想地和xml協同工作,jsp網頁可以包含任何類型的文本數據,所以jsp可以直接生成含有xml的文檔。而且,jsp可以利用強大的java平臺來解析、轉換xml信息和文檔。由于jsp也是java軟件環境的一部分,jsp也可以使用api對象來處理xml數據。jsp技術的強大功能和很好的靈活性加上xml技術規范化的數據,可以完美的實現網頁的動態顯示功能。

三、開發環境

1、編輯工具

現在,開發xml文檔的工具越來越來多,從鏈接大型公司數據庫的企業級xml開發環境,到簡化標記開發過程的簡單的小型文本編輯器。最新的工具可以從http://www.xml.com了解到。目前,常用的幾種開發工具介紹如下:

ultraedit 由idm computer solution 公司開發,可到http://www.ibmcomp.com或http://www.ultraedit.com免費下載有限期使用版。它是界面類似于windows的資源管理器式的界面,有很強的文本編緝功能。

xml spy icon information-systems 公司的xml spy 是xml 一個集成開發環境,包括進行xml開發的各個方面,功能較強,簡單易用。xml spy是一個真正完整的xml開發環境。它將所有開發xml所需的要素都包含在一個簡單易用的產品中。它包括:xml編輯器和檢驗、schema/dtd編輯器和檢驗、xsl編輯器和轉換。同時還包含最新的xml草案,是一個不可多得的好軟件。

xml writer 這個軟件是由wattle software-chris howard 開發的,可從http://xmlwriter.net下載(試用)。在window 95/98/2000 and windows nt4下使用,也有著大家熟悉的windows界面,提供了工程管理環境,可能刨建、查看工程,工程下包含文件,用戶可自定義工具條、快捷鍵,并且可為命令選擇顯示圖標??捎脁sl樣式表轉換xml文件為html文件,不僅可使用xsl,而且可以使用xql,用dtd或xml schema 對xml進行檢驗,用xml格式直接的將css結合到xml,提供在線幫助功能,并且它對中文的支持較好。

2、xml服務器

由于xml技術有很大的發展潛力,眾多廠商提供了自己的xml服務器,其中有apache、microsoft、sun等。

3、瀏覽xml的工具

現在,大多數方案是將xml存儲在數據庫中,當需要時取出代碼,將其與數據結合起來,使用xsl將其轉換為html,然后發送到瀏覽器。所以瀏覽xml一般選用ie可netscape, 而且版本越新對xml文檔支持越好。

四、具體實現

1、 規范定義xml文檔中元素名稱

首先定義xml文檔頭部,包括xml遵循的規范、編碼方式、注釋等。例如:

< ?xml version=”1.0” encoding=”gb2312” standalone=”yes”?>

“version=”1.0” “,表示該xml文檔遵循xml1.0方案,這個喜劇聲明是必須的。

“encoding=”gb2312” ”,如果沒有這個聲明,必須使用unicode,以utf-8或utf-16作為編號方式。如果文件中使用了中文,就必須進行編碼聲明。

“standalone=”yes” ”,xml聲明還可以有standalone特性,它說明,文檔是否在這一個文件里需要從處部導入文件。如果xml文檔在一個文件里完成,那么standalone特性的值就設置為“yes”。

然后,根據業務的需要規范定義頁面上要顯示的元素,以及定義它們的元素名稱,元素名稱可以是中文的,這樣對數據描述更加簡單明了,這是html無法實現的。元素是文檔的主要邏輯部件,由開始和結束標記界定,格式為:

< 元素名稱 屬性名1=“屬性值1” 屬性名2=“屬性值2”>

元素的內容

< /元素名稱>

元素的內容,可以直接寫在頁面上,也可以從數據庫中取得。

文檔中還可以包括實體聲明和實體引用。簡單地說,實體分為一般實體和參數實體。參數實體只能出現在dtd中,一般實體出現在一根元素開始的主xml文檔中。實體聲明格式為:。一般實體的引用很簡單:“&實體名稱;”,參數實體的引用與一般實體的引用類似:“%實體名稱;”。實體是功能強大的工具,提供了管理大量內容的便捷機制。

寫好后檢查xml文檔,確保文檔的格式正確和有效。一個格式正確的xml文檔滿足:

每一元素必須有起始和結束標注;

必須有一個,而且只有一個稱為根元素或文件元素的元素,并且它不出現在其他任何元素的內容中;

它包含一個或多個元素

正確的定義和表示空元素;

和結束標記可以使用大寫或小寫,但它們必須匹配;

以起始標簽和結束標簽為界的各個元素必須正確地嵌套,不允許出現交叉;

屬性值必須使用引號括起來;

此文件中直接或間接引用的每一個己析實休都是格式正確的;

它滿足xml規范中定義的所有其他的格式正確性約束。

2、 使用xsl顯示xml文檔

xsl(extensible stylesheet language)是描述xml文檔樣式的一種語言,是由w3c制定的。xsl處理程序讀取xml文檔和xsl樣式單,基于處理程序在xsl樣式單中找到的指令,輸出新的xml文檔。xsl樣式表就是對xml文檔中類的描述文件,描述文件說明的是如何使用格式化詞匯將類實例轉換為一個xml文檔。同時,xsl樣式表也必須是組織良好的xml。

xsl有三個組成的模塊:xsl模式(xsl patern)、”xsl”名域(”xsl” namespace)、”fo”名域(”fo” namespace)。使用xsl樣式單可有三種主要方式將xml文檔轉換成其他格式:xml文檔和相關的樣式單都是用于客戶端(web瀏覽器)的,然后客戶端程序按照樣式單中指定格式轉換文檔,并將它呈現給用戶;服務器將xsl樣式單應用于xml文檔,以便此文檔能夠轉換成其他某種格式(通常為html),并把轉換后的文檔發送到客戶端程序(web瀏覽器);使用第三方程序將源xml文檔轉換成其他某種格式(通常為html),才把此文檔放置在服務器上,服務器和客戶程序只處理轉換后的文檔。由于,大多數瀏覽器是ie,而且ie對xsl的支持又好,第一種方法常被采用。

xsl轉換語言通過將xml樹形結構變換成另一個xml樹形結構來操作。這種語言含有操作符,此操作符用來從樹形結構中選擇特定節點、對節點重新排序以及輸出節點。在xml文檔中引用xsl的說明如下:

< ?xsl-stylesheet type=”text/xsl” href=”mystyle.xsl”?>

表明該xml文檔引用的xsl樣式單為mystyle.xsl。內容與形式分離使xml文檔更偏重于數據本身,而不受顯示方式的細枝末節的影響。而且可以通過定義不同的樣式單可以使用相同的數據呈現出不同的顯示外觀,實現xml數據的可重用性。

首先定義構造部分輸出的模塊,或對來自xml源文件中的數據應用模板。轉換模板包含在元素xsl:template中,模板可定義一組將源文檔轉換為結果樹的規則,確定要處理的節點。然后匹配模式,一個模式是一個字符串,它用于匹配xml源文件中的一個元素。用@匹配屬性節點。再用xsl中的元素轉換xml文檔中的元素。用xsl可以非常方便地實現同html中同樣的表單定義。只要將要在表單中的元素放入定義好的xsl模板中即可,表單的名稱、提義方式等屬性與html中的定義相同。同樣的表格的范圍、樣式,頁面的顯示風格、腳本等的定義也都與html相似。

另外,css也可以應用到xml文檔,但css決定了頁面的視覺外觀,不會改變源文檔的結構。css和xsl是互相補充,各有特色的。

經過xsl轉換后xml文檔表單提交到jsp頁面或servlet進行處理。這部分可以完全和頁面處理分開,可以實現控制邏輯的完全獨立。

3、 xml文檔數據的輸出

xml的主要應用包括交換信息、定義文檔類型、說明信息,信息以一種結構化的基于文本格式的方式表達,可以很容易地進行傳輸、轉換和闡釋。對數據的處理可以全部放在javabean或servlet中進行,與頁面的顯示完全分開。

在jsp中生成xml文檔很簡單,仍然可使用css或xsl來轉換和顯示xml。一個具有xml模板的jsp頁面,其實質就是在xml文檔模板中,在適當的地方加入java代碼和jsp標記。在頁面中加入< %@page contenttype=”text/xml”% >即可以將jsp頁,以xml文檔形式顯式出來,同時把動態數據放入< % % >標記內。對生成的xml同樣可以用xsl樣式單進行格式轉換和樣式定義等。

4、 xml與java結合

xml能創建不依賴于平臺、語言或限制性格式化協定的開放數據,如果廣泛地采用,xml能變成為內容以及下至客戶端對象通迅的廣泛標準。作為內容平臺xml在許多方面增強了java。xml將基于網絡的信息置標化,使得開發者和電腦易于辨認。這是有必要的因為html除了隱藏的url外,缺少有效的方法說明內容的含義,xml的目標就為網絡的對象添加那些含義,而這些曾經就是java的任務之一。

許多網絡開發者得出結論:xml和java是完美的一對,因為彼此十分相輔相成,xml有助于獨立平臺、易提取信息的文檔和數據。java有助于獨立平臺,易于處理的面向對象的應用軟件解決方案,能驅動xml廣泛接受的應用是在html的限制下難以實現的那些應用,可分為下列四類:

需要網絡客戶端協調各種不同類型數據庫的應用。

力圖將比例可觀的處理工作從服務器端分布于客戶端的應用。

要求客戶端將同一數據以不同的形式展現給不同的使用者的應用。

智能網絡代理應個別用戶的要求搜索定制信息的應用。

java平臺提供了在網絡上安全而方便地傳播代碼的基礎,xml技術則為數據提供了同樣的能力,這是一種清晰地、平臺獨立地表示內容的方法。在眾多編程語言中,java是使用xml的優秀平臺,xml又是java應用的優秀數據表示方法。xml和java都與internet關系密切,xml被設計成為一個優化的,靈活的可讀格式,可直接用于internet;而java從一開始就支持socket,http,html和服務器。它們都支持unicode。因而很容易實現本地化應用,正如java向程序員提供了表達復雜數據結構和面向對象模型的能力一樣,用xml表達復雜的層次化數據模型是很理想的。

xml結合jsp技術結構明確、條理清析、簡單易懂,是開發動態網站的一條快速而便捷的開發途徑。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人aa精品一区在线播放| 日韩av电影手机在线观看| 超碰精品一区二区三区乱码| 欧美一级视频免费在线观看| 成人av资源在线播放| 欧美激情亚洲另类| 日韩中文字幕在线精品| 久久天天躁狠狠躁夜夜爽蜜月| 久久99精品久久久久久琪琪| 国产婷婷成人久久av免费高清| 3344国产精品免费看| 中文字幕欧美亚洲| 美日韩丰满少妇在线观看| 日韩成人在线网站| 欧美激情视频一区| 亚洲护士老师的毛茸茸最新章节| 奇米一区二区三区四区久久| 国产精品电影在线观看| 国产精品夜间视频香蕉| 日韩视频欧美视频| 亚洲第一区在线观看| 91精品在线影院| 影音先锋欧美在线资源| 国产男人精品视频| 另类天堂视频在线观看| 亚洲性线免费观看视频成熟| 亚洲国产精品久久精品怡红院| 欧美一级视频在线观看| 国产丝袜精品视频| 国产午夜精品全部视频在线播放| xxxx欧美18另类的高清| 免费av在线一区| 欧美电影第一页| 亚洲精品天天看| 98视频在线噜噜噜国产| 亚洲四色影视在线观看| 欧美成人激情视频| 国语自产精品视频在线看| 2018中文字幕一区二区三区| 午夜精品久久久久久99热| 欧美多人爱爱视频网站| 精品国产一区av| 日韩av网址在线| 日韩一级黄色av| 91日本在线视频| 黄网动漫久久久| 九九九久久国产免费| 91精品视频免费| 亚洲人成欧美中文字幕| 精品视频一区在线视频| 欧美人与性动交a欧美精品| 国产成人精品久久| 久久影视电视剧免费网站| 久久乐国产精品| 久久国产天堂福利天堂| 97国产一区二区精品久久呦| 亚洲色图在线观看| 蜜臀久久99精品久久久无需会员| 日韩资源在线观看| 国产精品久久久久999| 神马国产精品影院av| 亚洲影院色在线观看免费| 久久免费视频网站| 亚洲色无码播放| 日韩美女在线播放| 日韩精品久久久久| 日韩高清a**址| 55夜色66夜色国产精品视频| 美女久久久久久久久久久| 亚洲 日韩 国产第一| 国产精品老女人视频| 亚洲桃花岛网站| 成人综合国产精品| 91精品视频网站| 国产成人小视频在线观看| 国产这里只有精品| 亚洲欧洲一区二区三区久久| 日韩欧美国产高清91| 欧美精品videos| 91精品久久久久久久久不口人| 成人午夜激情网| 91久久夜色精品国产网站| 日韩在线视频中文字幕| 国产欧美日韩综合精品| 中文字幕av一区二区三区谷原希美| 国产精品久久久久9999| 日韩一区av在线| 欧美激情第三页| 91亚洲va在线va天堂va国| 国产精品69精品一区二区三区| 亚洲成人激情在线观看| 日韩最新av在线| 久久精品国产久精国产思思| 亚洲欧美另类国产| 亚洲精品成人免费| 亚洲乱码国产乱码精品精天堂| 爽爽爽爽爽爽爽成人免费观看| 欧美成年人在线观看| 欧美精品在线观看91| 久久久精品中文字幕| 精品视频在线播放色网色视频| 成人h视频在线| 国产精品视频色| 成人免费福利在线| 日本免费在线精品| 中文字幕av一区二区| 亚洲人永久免费| 欧洲午夜精品久久久| 亚洲精品影视在线观看| 中文字幕av一区中文字幕天堂| 欧美精品少妇videofree| 黑人精品xxx一区| 久久久精品久久久久| 日韩中文字幕在线免费观看| 91精品国产91久久久久久不卡| 九九热99久久久国产盗摄| 国产精品激情自拍| 91色在线视频| 国产精品va在线播放| 精品日韩美女的视频高清| 日韩在线视频网站| 一区二区三区视频免费在线观看| 国产亚洲精品久久久久久牛牛| 成人在线激情视频| 久久久久久久一区二区| 精品国产乱码久久久久久虫虫漫画| 精品国产一区二区三区久久| 国产中文欧美精品| 精品国内产的精品视频在线观看| 国产精品亚洲欧美导航| 欧美日韩亚洲成人| 综合激情国产一区| 亚洲国产成人精品久久久国产成人一区| 久久久999国产精品| 亚洲欧美综合图区| 国色天香2019中文字幕在线观看| 最近日韩中文字幕中文| 欧美中文在线观看国产| 精品动漫一区二区| 亚洲自拍偷拍色片视频| 欧美精品videos| 国产成人综合精品在线| 韩剧1988免费观看全集| 国产精品亚洲激情| 91国偷自产一区二区三区的观看方式| 成人激情综合网| 在线性视频日韩欧美| 性色av一区二区三区在线观看| 韩国精品久久久999| 精品国产31久久久久久| 黑丝美女久久久| 欧美激情女人20p| 久久久久北条麻妃免费看| 国产视频丨精品|在线观看| 日韩在线精品一区| 亚洲一区二区日本| 亚洲深夜福利视频| 美乳少妇欧美精品| www.亚洲免费视频| 色琪琪综合男人的天堂aⅴ视频| 亚洲一区制服诱惑| 亚洲精品中文字| 久久久国产一区二区| 国产精品福利网|