电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:65日期:2024-07-04 14:02:05
一、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界面,提供了工程管理環境,可能刨建、查看工程,工程下包含文件,用戶可自定義工具條、快捷鍵,并且可為命令選擇顯示圖標。可用XSL樣式表轉換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技術結構明確、條理清析、簡單易懂,是開發動態網站的一條快速而便捷的開發途徑。;

標簽: JavaScript
相關文章:
主站蜘蛛池模板: wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 小型铜米机-干式铜米机-杂线全自动铜米机-河南鑫世昌机械制造有限公司 | 环比机械| 氢氧化钙设备, 氢氧化钙生产线-淄博惠琛工贸有限公司 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 广东风淋室_广东风淋室厂家_广东风淋室价格_广州开源_传递窗_FFU-广州开源净化科技有限公司 | 成都APP开发-成都App定制-成都app开发公司-【未来久】 | 提升海外网站流量,增加国外网站访客UV,定制海外IP-访客王 | 小型玉石雕刻机_家用玉雕机_小型万能雕刻机_凡刻雕刻机官网 | 深圳善跑体育产业集团有限公司_塑胶跑道_人造草坪_运动木地板 | 托盘租赁_塑料托盘租赁_托盘出租_栈板出租_青岛托盘租赁-优胜必达 | 2025福建平潭岛旅游攻略|蓝眼泪,景点,住宿攻略-趣平潭网 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | 微型实验室真空泵-无油干式真空泵-微型涡旋耐腐蚀压缩机-思科涡旋科技(杭州)有限公司 | 浙江宝泉阀门有限公司| 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 深圳天际源广告-形象堆头,企业文化墙,喷绘,门头招牌设计制作专家 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | 高柔性拖链电缆-聚氨酯卷筒电缆-柔性屏蔽电缆厂家-玖泰电缆 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 切铝机-数控切割机-型材切割机-铝型材切割机-【昆山邓氏精密机械有限公司】 | 吨袋包装机|吨包秤|吨包机|集装袋包装机-烟台华恩科技 | 氢氧化钙设备, 氢氧化钙生产线-淄博惠琛工贸有限公司 | 西安中国国际旅行社(西安国旅) | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | 上海办公室设计_办公楼,写字楼装修_办公室装修公司-匠御设计 | 全自动在线分板机_铣刀式在线分板机_曲线分板机_PCB分板机-东莞市亿协自动化设备有限公司 | 隐形纱窗|防护纱窗|金刚网防盗纱窗|韦柏纱窗|上海青木装潢制品有限公司|纱窗国标起草单位 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 爱德华真空泵油/罗茨泵维修,爱发科-比其尔产品供应东莞/杭州/上海等全国各地 | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 纳米二氧化硅,白炭黑,阴离子乳化剂-臻丽拾科技 |