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

您的位置:首頁技術(shù)文章
文章詳情頁

JSP+XML實(shí)現(xiàn)網(wǎng)頁內(nèi)容動態(tài)顯示的方案

瀏覽:66日期:2024-07-04 14:02:05
一、xml技術(shù)簡介

XML(eXtensible Markup Language??可擴(kuò)展標(biāo)記語言)是一種 擴(kuò)展的源標(biāo)記語言,是可以定義其他語言的語言。

它是SGML的一個簡化子集,這個子集是專為Web環(huán)境設(shè)計(jì)的,這就是說,它必須處理面向數(shù)據(jù)處理的(而不是面向發(fā)布的)、生存期短的(實(shí)際上是動態(tài)產(chǎn)生的)信息。

XML與HTML對比:

XML語法嚴(yán)格,數(shù)據(jù)與顯示分離,便于其他程序交互和檢索數(shù)據(jù)。

HTML語法容錯性大,數(shù)據(jù)和顯示都在一起,檢索數(shù)據(jù)困難較大。

XML又明確的DOM對象,可以對XML文件進(jìn)行讀寫添刪數(shù)據(jù)的操作。

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

XML克服了HTML的種種不足,將網(wǎng)絡(luò)上傳輸?shù)奈臋n規(guī)范化,并賦予標(biāo)簽一定的含義。

XML作為一種網(wǎng)絡(luò)系統(tǒng)中通用的數(shù)據(jù)交換格式迅速得到了支持,使用XML的實(shí)際好處有:

結(jié)構(gòu)化??建立有任何復(fù)雜層次的數(shù)扭模型。

可擴(kuò)展性??根椐需要定義新的標(biāo)識。

驗(yàn)證??檢查數(shù)據(jù)在結(jié)構(gòu)上的正確性。

獨(dú)立與媒介??以多種方式發(fā)布內(nèi)容。

獨(dú)立于供應(yīng)商和平臺??使用標(biāo)準(zhǔn)的商業(yè)軟件甚至文本工具處理任何符合(XML標(biāo)準(zhǔn))的文檔。

XML文檔可以通過可擴(kuò)展樣式語言XSL(Extensible Style Language XSL)轉(zhuǎn)換和格式化XML文檔。從而實(shí)現(xiàn)數(shù)據(jù)和頁面樣式的分離。

二、用JSP技術(shù)實(shí)現(xiàn)XML

JSP提供了一系列的特點(diǎn),可以非常理想地和XML協(xié)同工作,JSP網(wǎng)頁可以包含任何類型的文本數(shù)據(jù),所以JSP可以直接生成含有XML的文檔。而且,JSP可以利用強(qiáng)大的JAVA平臺來解析、轉(zhuǎn)換XML信息和文檔。由于JSP也是JAVA軟件環(huán)境的一部分,JSP也可以使用API對象來處理XML數(shù)據(jù)。JSP技術(shù)的強(qiáng)大功能和很好的靈活性加上XML技術(shù)規(guī)范化的數(shù)據(jù),可以完美的實(shí)現(xiàn)網(wǎng)頁的動態(tài)顯示功能。

三、開發(fā)環(huán)境

1、編輯工具

現(xiàn)在,開發(fā)XML文檔的工具越來越來多,從鏈接大型公司數(shù)據(jù)庫的企業(yè)級XML開發(fā)環(huán)境,到簡化標(biāo)記開發(fā)過程的簡單的小型文本編輯器。最新的工具可以從http://www.xml.com了解到。目前,常用的幾種開發(fā)工具介紹如下:

UltraEdit 由IDM Computer Solution 公司開發(fā),可到http://www.ibmcomp.com或http://www.ultraedit.com免費(fèi)下載有限期使用版。它是界面類似于Windows的資源管理器式的界面,有很強(qiáng)的文本編緝功能。

XML Spy Icon Information-Systems 公司的XML Spy 是XML 一個集成開發(fā)環(huán)境,包括進(jìn)行XML開發(fā)的各個方面,功能較強(qiáng),簡單易用。XML Spy是一個真正完整的XML開發(fā)環(huán)境。它將所有開發(fā)XML所需的要素都包含在一個簡單易用的產(chǎn)品中。它包括:XML編輯器和檢驗(yàn)、Schema/DTD編輯器和檢驗(yàn)、XSL編輯器和轉(zhuǎn)換。同時還包含最新的XML草案,是一個不可多得的好軟件。

XML Writer 這個軟件是由Wattle Software-Chris Howard 開發(fā)的,可從http://XMLwriter.net下載(試用)。在Window 95/98/2000 and Windows NT4下使用,也有著大家熟悉的Windows界面,提供了工程管理環(huán)境,可能刨建、查看工程,工程下包含文件,用戶可自定義工具條、快捷鍵,并且可為命令選擇顯示圖標(biāo)。可用XSL樣式表轉(zhuǎn)換XML文件為HTML文件,不僅可使用XSL,而且可以使用XQL,用DTD或XML Schema 對XML進(jìn)行檢驗(yàn),用XML格式直接的將CSS結(jié)合到XML,提供在線幫助功能,并且它對中文的支持較好。

2、XML服務(wù)器

由于XML技術(shù)有很大的發(fā)展?jié)摿Γ姸鄰S商提供了自己的XML服務(wù)器,其中有Apache、Microsoft、Sun等。

3、瀏覽XML的工具

現(xiàn)在,大多數(shù)方案是將XML存儲在數(shù)據(jù)庫中,當(dāng)需要時取出代碼,將其與數(shù)據(jù)結(jié)合起來,使用XSL將其轉(zhuǎn)換為HTML,然后發(fā)送到瀏覽器。所以瀏覽XML一般選用IE可Netscape, 而且版本越新對XML文檔支持越好。

四、具體實(shí)現(xiàn)

1、 規(guī)范定義XML文檔中元素名稱

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

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

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

“encoding=gb2312 ,如果沒有這個聲明,必須使用Unicode,以UTF-8或UTF-16作為編號方式。如果文件中使用了中文,就必須進(jìn)行編碼聲明。

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

然后,根據(jù)業(yè)務(wù)的需要規(guī)范定義頁面上要顯示的元素,以及定義它們的元素名稱,元素名稱可以是中文的,這樣對數(shù)據(jù)描述更加簡單明了,這是HTML無法實(shí)現(xiàn)的。元素是文檔的主要邏輯部件,由開始和結(jié)束標(biāo)記界定,格式為:

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

元素的內(nèi)容

< /元素名稱>

元素的內(nèi)容,可以直接寫在頁面上,也可以從數(shù)據(jù)庫中取得。

文檔中還可以包括實(shí)體聲明和實(shí)體引用。簡單地說,實(shí)體分為一般實(shí)體和參數(shù)實(shí)體。參數(shù)實(shí)體只能出現(xiàn)在DTD中,一般實(shí)體出現(xiàn)在一根元素開始的主XML文檔中。實(shí)體聲明格式為:。一般實(shí)體的引用很簡單:“&實(shí)體名稱;,參數(shù)實(shí)體的引用與一般實(shí)體的引用類似:“%實(shí)體名稱;。實(shí)體是功能強(qiáng)大的工具,提供了管理大量內(nèi)容的便捷機(jī)制。

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

每一元素必須有起始和結(jié)束標(biāo)注;

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

它包含一個或多個元素

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

和結(jié)束標(biāo)記可以使用大寫或小寫,但它們必須匹配;

以起始標(biāo)簽和結(jié)束標(biāo)簽為界的各個元素必須正確地嵌套,不允許出現(xiàn)交叉;

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

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

它滿足XML規(guī)范中定義的所有其他的格式正確性約束。

2、 使用XSL顯示XML文檔

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

XSL有三個組成的模塊:XSL模式(XSL Patern)、XSL名域(XSL Namespace)、fo名域(fo Namespace)。使用XSL樣式單可有三種主要方式將XML文檔轉(zhuǎn)換成其他格式:XML文檔和相關(guān)的樣式單都是用于客戶端(Web瀏覽器)的,然后客戶端程序按照樣式單中指定格式轉(zhuǎn)換文檔,并將它呈現(xiàn)給用戶;服務(wù)器將XSL樣式單應(yīng)用于XML文檔,以便此文檔能夠轉(zhuǎn)換成其他某種格式(通常為HTML),并把轉(zhuǎn)換后的文檔發(fā)送到客戶端程序(Web瀏覽器);使用第三方程序?qū)⒃碭ML文檔轉(zhuǎn)換成其他某種格式(通常為HTML),才把此文檔放置在服務(wù)器上,服務(wù)器和客戶程序只處理轉(zhuǎn)換后的文檔。由于,大多數(shù)瀏覽器是IE,而且IE對XSL的支持又好,第一種方法常被采用。

XSL轉(zhuǎn)換語言通過將XML樹形結(jié)構(gòu)變換成另一個XML樹形結(jié)構(gòu)來操作。這種語言含有操作符,此操作符用來從樹形結(jié)構(gòu)中選擇特定節(jié)點(diǎn)、對節(jié)點(diǎn)重新排序以及輸出節(jié)點(diǎn)。在XML文檔中引用XSL的說明如下:

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

表明該XML文檔引用的XSL樣式單為mystyle.xsl。內(nèi)容與形式分離使XML文檔更偏重于數(shù)據(jù)本身,而不受顯示方式的細(xì)枝末節(jié)的影響。而且可以通過定義不同的樣式單可以使用相同的數(shù)據(jù)呈現(xiàn)出不同的顯示外觀,實(shí)現(xiàn)XML數(shù)據(jù)的可重用性。

首先定義構(gòu)造部分輸出的模塊,或?qū)碜訶ML源文件中的數(shù)據(jù)應(yīng)用模板。轉(zhuǎn)換模板包含在元素xsl:template中,模板可定義一組將源文檔轉(zhuǎn)換為結(jié)果樹的規(guī)則,確定要處理的節(jié)點(diǎn)。然后匹配模式,一個模式是一個字符串,它用于匹配XML源文件中的一個元素。用@匹配屬性節(jié)點(diǎn)。再用XSL中的元素轉(zhuǎn)換XML文檔中的元素。用XSL可以非常方便地實(shí)現(xiàn)同HTML中同樣的表單定義。只要將要在表單中的元素放入定義好的XSL模板中即可,表單的名稱、提義方式等屬性與HTML中的定義相同。同樣的表格的范圍、樣式,頁面的顯示風(fēng)格、腳本等的定義也都與HTML相似。

另外,CSS也可以應(yīng)用到XML文檔,但CSS決定了頁面的視覺外觀,不會改變源文檔的結(jié)構(gòu)。CSS和XSL是互相補(bǔ)充,各有特色的。

經(jīng)過XSL轉(zhuǎn)換后XML文檔表單提交到JSP頁面或servlet進(jìn)行處理。這部分可以完全和頁面處理分開,可以實(shí)現(xiàn)控制邏輯的完全獨(dú)立。

3、 XML文檔數(shù)據(jù)的輸出

XML的主要應(yīng)用包括交換信息、定義文檔類型、說明信息,信息以一種結(jié)構(gòu)化的基于文本格式的方式表達(dá),可以很容易地進(jìn)行傳輸、轉(zhuǎn)換和闡釋。對數(shù)據(jù)的處理可以全部放在javabean或servlet中進(jìn)行,與頁面的顯示完全分開。

在JSP中生成XML文檔很簡單,仍然可使用CSS或XSL來轉(zhuǎn)換和顯示XML。一個具有XML模板的JSP頁面,其實(shí)質(zhì)就是在XML文檔模板中,在適當(dāng)?shù)牡胤郊尤隞AVA代碼和JSP標(biāo)記。在頁面中加入< %@page contentType=text/xml% >即可以將JSP頁,以XML文檔形式顯式出來,同時把動態(tài)數(shù)據(jù)放入< % % >標(biāo)記內(nèi)。對生成的XML同樣可以用XSL樣式單進(jìn)行格式轉(zhuǎn)換和樣式定義等。

4、 XML與JAVA結(jié)合

XML能創(chuàng)建不依賴于平臺、語言或限制性格式化協(xié)定的開放數(shù)據(jù),如果廣泛地采用,XML能變成為內(nèi)容以及下至客戶端對象通迅的廣泛標(biāo)準(zhǔn)。作為內(nèi)容平臺XML在許多方面增強(qiáng)了JAVA。XML將基于網(wǎng)絡(luò)的信息置標(biāo)化,使得開發(fā)者和電腦易于辨認(rèn)。這是有必要的因?yàn)镠TML除了隱藏的URL外,缺少有效的方法說明內(nèi)容的含義,XML的目標(biāo)就為網(wǎng)絡(luò)的對象添加那些含義,而這些曾經(jīng)就是JAVA的任務(wù)之一。

許多網(wǎng)絡(luò)開發(fā)者得出結(jié)論:XML和JAVA是完美的一對,因?yàn)楸舜耸窒噍o相成,XML有助于獨(dú)立平臺、易提取信息的文檔和數(shù)據(jù)。JAVA有助于獨(dú)立平臺,易于處理的面向?qū)ο蟮膽?yīng)用軟件解決方案,能驅(qū)動XML廣泛接受的應(yīng)用是在HTML的限制下難以實(shí)現(xiàn)的那些應(yīng)用,可分為下列四類:

需要網(wǎng)絡(luò)客戶端協(xié)調(diào)各種不同類型數(shù)據(jù)庫的應(yīng)用。

力圖將比例可觀的處理工作從服務(wù)器端分布于客戶端的應(yīng)用。

要求客戶端將同一數(shù)據(jù)以不同的形式展現(xiàn)給不同的使用者的應(yīng)用。

智能網(wǎng)絡(luò)代理應(yīng)個別用戶的要求搜索定制信息的應(yīng)用。

JAVA平臺提供了在網(wǎng)絡(luò)上安全而方便地傳播代碼的基礎(chǔ),XML技術(shù)則為數(shù)據(jù)提供了同樣的能力,這是一種清晰地、平臺獨(dú)立地表示內(nèi)容的方法。在眾多編程語言中,JAVA是使用XML的優(yōu)秀平臺,XML又是JAVA應(yīng)用的優(yōu)秀數(shù)據(jù)表示方法。XML和JAVA都與Internet關(guān)系密切,XML被設(shè)計(jì)成為一個優(yōu)化的,靈活的可讀格式,可直接用于Internet;而JAVA從一開始就支持socket,HTTP,HTML和服務(wù)器。它們都支持Unicode。因而很容易實(shí)現(xiàn)本地化應(yīng)用,正如JAVA向程序員提供了表達(dá)復(fù)雜數(shù)據(jù)結(jié)構(gòu)和面向?qū)ο竽P偷哪芰σ粯樱肵ML表達(dá)復(fù)雜的層次化數(shù)據(jù)模型是很理想的。

XML結(jié)合JSP技術(shù)結(jié)構(gòu)明確、條理清析、簡單易懂,是開發(fā)動態(tài)網(wǎng)站的一條快速而便捷的開發(fā)途徑。;

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 天津拓展_天津团建_天津趣味运动会_天津活动策划公司-天津华天拓展培训中心 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | 高低温试验房-深圳高低温湿热箱-小型高低温冲击试验箱-爱佩试验设备 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | ★济南领跃标识制作公司★济南标识制作,标牌制作,山东标识制作,济南标牌厂 | 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | 萃取箱-萃取槽-PVC萃取箱厂家-混合澄清槽- 杭州南方化工设备 | 高压贴片电容|贴片安规电容|三端滤波器|风华电容代理南京南山 | 营养师网,营养师考试时间,报名入口—网站首页 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 安规_综合测试仪,电器安全性能综合测试仪,低压母线槽安规综合测试仪-青岛合众电子有限公司 | 济南办公室装修-厂房装修-商铺装修-工装公司-山东鲁工装饰设计 | 西安展台设计搭建_西安活动策划公司_西安会议会场布置_西安展厅设计西安旭阳展览展示 | 游动电流仪-流通式浊度分析仪-杰普仪器(上海)有限公司 | 全自动真空上料机_粉末真空上料机_气动真空上料机-南京奥威环保科技设备有限公司 | 密集柜_档案密集柜_智能密集架_密集柜厂家_密集架价格-智英伟业 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 洛阳网站建设_洛阳网站优化_网站建设平台_洛阳香河网络科技有限公司 | 中原网视台| 葡萄酒灌装机-食用油灌装机-液体肥灌装设备厂家_青州惠联灌装机械 | 电动百叶窗,开窗器,电动遮阳百叶,电动开窗机生产厂家-徐州鑫友工控科技发展有限公司 | 室内室外厚型|超薄型|非膨胀型钢结构防火涂料_隧道专用防火涂料厂家|电话|价格|批发|施工 | ph计,实验室ph计,台式ph计,实验室酸度计,台式酸度计 | 皮带机_移动皮带机_大倾角皮带机_皮带机厂家 - 新乡市国盛机械设备有限公司 | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 山东锐智科电检测仪器有限公司_超声波测厚仪,涂层测厚仪,里氏硬度计,电火花检漏仪,地下管线探测仪 | 楼承板-钢筋楼承板-闭口楼承板-无锡优贝斯楼承板厂 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 工业PH计|工业ph酸度计|在线PH计价格-合肥卓尔仪器仪表有限公司 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 瑞典Blueair空气净化器租赁服务中心-专注新装修办公室除醛去异味服务! | 明渠式紫外线杀菌器-紫外线消毒器厂家-定州市优威环保 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 智慧旅游_智慧景区_微景通-智慧旅游景区解决方案提供商 | 江西高职单独招生-江西单招考试-江西高职单招网| 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 |