基于JSP網(wǎng)頁(yè)自動(dòng)生成工具的設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)網(wǎng)絡(luò)_第1頁(yè)
基于JSP網(wǎng)頁(yè)自動(dòng)生成工具的設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)網(wǎng)絡(luò)_第2頁(yè)
基于JSP網(wǎng)頁(yè)自動(dòng)生成工具的設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)網(wǎng)絡(luò)_第3頁(yè)
基于JSP網(wǎng)頁(yè)自動(dòng)生成工具的設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)網(wǎng)絡(luò)_第4頁(yè)
基于JSP網(wǎng)頁(yè)自動(dòng)生成工具的設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)網(wǎng)絡(luò)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于JSP網(wǎng)頁(yè)自動(dòng)生成工具的設(shè)計(jì)與實(shí)現(xiàn)-計(jì)算機(jī)網(wǎng)絡(luò)編輯:小小摘要:Web開(kāi)發(fā)技術(shù)是Inter應(yīng)用的一個(gè)重要方面,而JSP又是Web開(kāi)發(fā)的最先進(jìn)的技術(shù),是當(dāng)前Web開(kāi)發(fā)人員的首選技術(shù)。但是由于JSP對(duì)Web開(kāi)發(fā)人員要求較高,所以許多一般的Web開(kāi)發(fā)人員還不能夠使用這一項(xiàng)先進(jìn)的技術(shù)。討論基于模板和標(biāo)簽庫(kù)的JSP網(wǎng)頁(yè)自動(dòng)生成工具的設(shè)計(jì)和實(shí)現(xiàn),提出具體的設(shè)計(jì)思想和實(shí)現(xiàn)方法。 關(guān)鍵詞:JSP;自動(dòng)生成;Web開(kāi)發(fā);標(biāo)簽;標(biāo)簽庫(kù);模板 目錄: 引言.2 1系統(tǒng)設(shè)計(jì)目標(biāo)和使用的主要技術(shù).4 11設(shè)計(jì)目標(biāo)4 12主要技術(shù)4 121模板技術(shù).4 122標(biāo)簽庫(kù)技術(shù).4 2系統(tǒng)的組成和實(shí)現(xiàn).6 21系統(tǒng)組成6 22

2、系統(tǒng)的實(shí)現(xiàn)7 221模板庫(kù)和標(biāo)簽庫(kù)的實(shí)現(xiàn).7 222系統(tǒng)開(kāi)發(fā)環(huán)境.11 3結(jié)束語(yǔ).11 引言 隨著WWWWorldWideWeb的普及,動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)也急速開(kāi)展。從原來(lái)的CGImonGatewayInterface到ASPActiveServerPage,都從某種程度上滿足了網(wǎng)頁(yè)開(kāi)發(fā)人員對(duì)動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)的需求。但是不管是CGI還是ASP都存在一定的局限性,如CGI對(duì)效勞器資源的消耗,ASP只能同MicrosoftIIS一起使用等,這些都限制了這些技術(shù)的使用范圍,極大地阻礙了它們的推廣。廣闊的頁(yè)面開(kāi)發(fā)人員都熱切地盼望一種統(tǒng)一的頁(yè)面開(kāi)發(fā)技術(shù),該技術(shù)應(yīng)該具有的特點(diǎn):與操作平臺(tái)無(wú)關(guān),能夠在任何Web或

3、應(yīng)用程序效勞器上運(yùn)行;將應(yīng)用程序邏輯和頁(yè)面顯示別離;提供代碼重用,簡(jiǎn)化開(kāi)發(fā)基于Web的交互式應(yīng)用程序的過(guò)程。 JSPJavaServerPage技術(shù)就是被設(shè)計(jì)用來(lái)滿足這樣的要求的。JSP是由SunMicroSystem公司于1999年6月推出的新的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),它是基于JavaServlet以及整個(gè)Java體系的Web開(kāi)發(fā)技術(shù),是Servlet21API的擴(kuò)展。利用這一技術(shù),可以建立先進(jìn)、平安和跨平臺(tái)的動(dòng)態(tài)網(wǎng)站。 Java是未來(lái)的主流開(kāi)發(fā)技術(shù),具有很多優(yōu)勢(shì)。JSP那么是Java在InterIntraWeb上的重要應(yīng)用技術(shù),得到了廣泛的支持和成認(rèn),它可以和各種Java技術(shù)完好地結(jié)合在一起,從而實(shí)

4、現(xiàn)非常復(fù)雜的應(yīng)用。 作為一種基于文本的、以顯示為中心的開(kāi)發(fā)技術(shù),JSP提供了JavaServlet的所有好處。為了做到邏輯功能和顯示功能分開(kāi),JSP已經(jīng)可以和JavaBeans、EnterpriseJavaBeansEJB和Servlet一起工作。JSP的開(kāi)發(fā)人員可以通過(guò)使用JavaBeans、EJB和Servlet來(lái)完成大局部與網(wǎng)站邏輯相關(guān)的工作,而僅僅把顯示的工作交給JSP頁(yè)面來(lái)完成。內(nèi)容和顯示邏輯分開(kāi)的好處在于,更新頁(yè)面外觀的人員不必懂得Java代碼,而更新Java類的人員也不必是設(shè)計(jì)網(wǎng)頁(yè)的行家。這就可以用帶Java類的JSP頁(yè)面來(lái)定義Web模板,以建立一個(gè)具有相似外觀的頁(yè)面組成的網(wǎng)站。

5、Java類完成數(shù)據(jù)提供,在模板中就沒(méi)有Java代碼,這意味著這些模板可以由一個(gè)HTML編寫人員來(lái)維護(hù)。 JSP作為當(dāng)前主流的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),具有如下特點(diǎn)。 1將內(nèi)容的生成和顯示進(jìn)行別離:使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終的頁(yè)面。使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容內(nèi)容是根據(jù)請(qǐng)求來(lái)變化的。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在效勞器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和JavaBeans中,那么其他人,如Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。 2強(qiáng)調(diào)可重用的組件

6、:絕大多數(shù)JSP頁(yè)面依賴于可重用的、跨平臺(tái)的組件來(lái)完成應(yīng)用程序所要求的更為復(fù)雜的處理。得益于Java的操作平臺(tái)無(wú)關(guān)性,開(kāi)發(fā)人員能夠很方便共享和交流執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者所使用。基于組件的方法加速了總體的開(kāi)發(fā)過(guò)程,極大地提高了工程整體開(kāi)發(fā)的效率。 雖然JSP功能強(qiáng)大,但是它要求網(wǎng)頁(yè)開(kāi)發(fā)人員對(duì)Java要相當(dāng)熟悉。而現(xiàn)在Java程序員還比擬少,對(duì)一般的網(wǎng)頁(yè)開(kāi)發(fā)人員來(lái)說(shuō),JSP的語(yǔ)法還是比擬難于掌握的。所以,就需要有一種網(wǎng)頁(yè)開(kāi)發(fā)工具,為一般的網(wǎng)頁(yè)開(kāi)發(fā)人員提供常用的JSP應(yīng)用,讓只懂得一般頁(yè)面開(kāi)發(fā)技術(shù)HTML的開(kāi)發(fā)人員也能夠使用JSP的強(qiáng)大功能。 1系統(tǒng)設(shè)計(jì)目標(biāo)和使用的主要技

7、術(shù) 11設(shè)計(jì)目標(biāo) 本系統(tǒng)的設(shè)計(jì)目標(biāo)是為只懂得HTML但完全不了解JSP的一般網(wǎng)頁(yè)開(kāi)發(fā)人員提供一個(gè)網(wǎng)頁(yè)開(kāi)發(fā)工具,使他們能夠根據(jù)系統(tǒng)文檔,通過(guò)標(biāo)簽使用JSP的常用功能,最后生成一個(gè)只包含靜態(tài)HTML和JSP標(biāo)簽的動(dòng)態(tài)JSP網(wǎng)頁(yè)。 12主要技術(shù) 本系統(tǒng)在設(shè)計(jì)時(shí),主要考慮使用模板和JSP標(biāo)簽的技術(shù)來(lái)實(shí)現(xiàn)。 121模板技術(shù) 模板技術(shù)被廣泛地應(yīng)用于各種開(kāi)發(fā)和應(yīng)用系統(tǒng)中。它預(yù)先生成一些常用的框架結(jié)構(gòu),使用戶可以根據(jù)自己的需要方便地從模板庫(kù)中選擇模板,而不用自己重新去搭建,節(jié)省了用戶的開(kāi)發(fā)時(shí)間,方便了用戶的使用。在本系統(tǒng)中,將頁(yè)面按照功能類型進(jìn)行分類,歸納出常用的頁(yè)面類型,生成模板庫(kù)。 122標(biāo)簽庫(kù)技術(shù) 在J

8、SP中,動(dòng)作是可以創(chuàng)造與訪問(wèn)程序語(yǔ)言對(duì)象和影響輸出流的元素。JSP定義了六個(gè)標(biāo)準(zhǔn)的動(dòng)作。除了這六個(gè)標(biāo)準(zhǔn)動(dòng)作以外,用戶可以定義自己的動(dòng)作來(lái)完成特定的功能。這些動(dòng)作被稱為客戶化動(dòng)作,它們是可重用的程序模塊。通過(guò)這些動(dòng)作,程序員就可以在JSP頁(yè)面中把頁(yè)面的顯示功能也局部地封裝起來(lái),使整個(gè)頁(yè)面更加簡(jiǎn)潔和易于維護(hù)。在一個(gè)JSP頁(yè)面中,這些客戶化動(dòng)作是通過(guò)客戶化標(biāo)簽來(lái)調(diào)用的。而標(biāo)簽庫(kù)TagLibrary就是客戶化標(biāo)簽的集合。 JSP標(biāo)簽庫(kù)是一種通過(guò)JavaBeans生成基于XML的腳本的方法。它是JSP的最大特點(diǎn)之一。通過(guò)標(biāo)簽庫(kù),能夠無(wú)限制地?cái)U(kuò)展JSP應(yīng)用,完成任何復(fù)雜的應(yīng)用需求。 JSP標(biāo)簽庫(kù)具有以下特

9、點(diǎn)。 1易于使用:JSP中的標(biāo)簽和一般的HTML標(biāo)記外表上是完全一樣的,使用起來(lái)和普通的HTML標(biāo)記一樣方便。 2易于代碼重用:標(biāo)簽庫(kù)中的每一個(gè)標(biāo)簽都能完成一定的功能。一旦定義好了一個(gè)標(biāo)簽庫(kù),只需要把這個(gè)標(biāo)簽庫(kù)包裝成一個(gè)Jar文件,那么以后只要在別的系統(tǒng)中使用這個(gè)標(biāo)簽庫(kù)就行了,而不用重新開(kāi)發(fā)代碼,極大地提高了系統(tǒng)開(kāi)發(fā)效率,降低了開(kāi)發(fā)本錢。 3易于代碼維護(hù):所有的應(yīng)用邏輯都封裝在標(biāo)簽處理器和JavaBeans中,所有的標(biāo)簽都集中在一個(gè)標(biāo)簽庫(kù)中。如果需要更新代碼或者需要修改一個(gè)網(wǎng)頁(yè)上的功能,只需要修改相應(yīng)的標(biāo)簽即可。通過(guò)這種統(tǒng)一維護(hù)方式,不用在每個(gè)網(wǎng)頁(yè)上去作修改,極大地減少了維護(hù)的工作量,節(jié)約了維

10、護(hù)本錢。 4易于系統(tǒng)擴(kuò)充:如果需要向系統(tǒng)中添加新的功能,只需要定義一個(gè)新的標(biāo)簽來(lái)完成這一功能即可,無(wú)需對(duì)系統(tǒng)的其它方面作任何改動(dòng)。標(biāo)簽庫(kù)可以繼承JSP標(biāo)準(zhǔn)各方面的特性。這樣就可以無(wú)限制地?cái)U(kuò)展和增加JSP的功能,而不需要等待下一版本JSP的出現(xiàn)。 2系統(tǒng)的組成和實(shí)現(xiàn) 21系統(tǒng)組成 本系統(tǒng)主要由四個(gè)局部組成,見(jiàn)圖1。 1數(shù)據(jù)庫(kù)連接局部:本系統(tǒng)支持常用的幾個(gè)數(shù)據(jù)庫(kù),包括Oracle、Sybase、MSSQLServer、MySQL和DB2,根據(jù)用戶選擇的數(shù)據(jù)庫(kù)類型和用戶提供的數(shù)據(jù)庫(kù)名稱、用戶名、密碼使用JDBC同數(shù)據(jù)庫(kù)相連。 2系統(tǒng)根本表生成局部:和數(shù)據(jù)庫(kù)連接以后,根據(jù)同數(shù)據(jù)庫(kù)相連的用戶名生成兩個(gè)系

11、統(tǒng)根本表TCTables和TCColumns,TCTables表包含在該數(shù)據(jù)庫(kù)中屬于該用戶的所有的表的英文名稱、中文名稱和一些屬性,如是否可修改、是否可查詢等;TCColumns表包含在該數(shù)據(jù)庫(kù)中屬于該用戶的所有的表的所有列的中英文名稱和其它一些屬性。如是否可顯示、是否可查詢等。這兩個(gè)系統(tǒng)根本表在整個(gè)系統(tǒng)的開(kāi)發(fā)過(guò)程中提供用戶所使用數(shù)據(jù)庫(kù)的根本信息。 3模板選擇和網(wǎng)頁(yè)生成局部:該局部是系統(tǒng)的核心局部。它包含了兩個(gè)子模塊。 模板選擇局部:系統(tǒng)為用戶提供模板選擇界面,讓用戶根據(jù)需要從模板庫(kù)中選擇所要使用的模板。 模板處理局部:根據(jù)用戶選擇的模板,系統(tǒng)調(diào)用指定的模板處理模塊對(duì)這個(gè)模板進(jìn)行處理。當(dāng)處理程

12、序遇到模板中的標(biāo)簽時(shí),就為用戶提供交互界面,讓用戶為指定的標(biāo)簽輸入?yún)?shù),并由系統(tǒng)驗(yàn)證用戶輸入的標(biāo)簽的有效性。最后由系統(tǒng)完成JSP頁(yè)面的生成。 4網(wǎng)頁(yè)預(yù)覽和修改局部:網(wǎng)頁(yè)生成出來(lái)以后,系統(tǒng)為用戶提供了一個(gè)網(wǎng)頁(yè)預(yù)覽窗口和代碼查看修改窗口。通過(guò)這個(gè)預(yù)覽窗口,用戶可以預(yù)覽一下生成出來(lái)的JSP頁(yè)面的效果。如果用戶對(duì)頁(yè)面的靜態(tài)方面的效果不太滿意,用戶可以通過(guò)代碼查看修改窗口修改代碼中的HTML代碼。如果用戶對(duì)頁(yè)面的靜態(tài)效果有進(jìn)一步的要求,系統(tǒng)還為用戶提供了一個(gè)調(diào)用DreamWeaver編輯器的接口,用戶可以使用它來(lái)對(duì)生成出來(lái)的JSP頁(yè)面的靜態(tài)效果進(jìn)行進(jìn)一步的修改和完善。 22系統(tǒng)的實(shí)現(xiàn) 221模板庫(kù)和標(biāo)簽

13、庫(kù)的實(shí)現(xiàn) 標(biāo)簽庫(kù)的規(guī)劃和設(shè)計(jì)在整個(gè)系統(tǒng)設(shè)計(jì)中至關(guān)重要,它關(guān)系到了代碼重用的程度和系統(tǒng)運(yùn)行的效率。它的規(guī)劃應(yīng)該遵循以下原那么。 1在標(biāo)簽中應(yīng)該盡量少的包含靜態(tài)的HTML。對(duì)于一般用戶來(lái)說(shuō),標(biāo)簽是透明的。用戶不能夠查看和修改標(biāo)簽。如果在標(biāo)簽中包含了過(guò)多的靜態(tài)HTML語(yǔ)句,將影響用戶對(duì)頁(yè)面的靜態(tài)效果的修改和完善,限制標(biāo)簽的使用。 2盡量提高代碼的重用度。在對(duì)JSP應(yīng)用進(jìn)行分類是盡量把公用的JSP應(yīng)用提取出來(lái),形成標(biāo)簽。而不用在每個(gè)標(biāo)簽中都重復(fù)實(shí)現(xiàn)該應(yīng)用。這樣在以后要對(duì)該應(yīng)用進(jìn)行修改和完善時(shí),只需對(duì)這一個(gè)標(biāo)簽進(jìn)行修改即可,易于代碼的維護(hù)。 3方便用戶的使用。在設(shè)計(jì)標(biāo)簽庫(kù)時(shí),應(yīng)該充分考慮到用戶的使用情況

14、,使用戶能夠很容易和方便地理解和使用標(biāo)簽。 標(biāo)簽庫(kù)的定義:定義一個(gè)標(biāo)簽庫(kù),必須首先定義一個(gè)標(biāo)簽庫(kù)描述文件TLD。這是一個(gè)基于XML的腳本文件,在這個(gè)文件中定義了XML的版本、所使用的編碼、標(biāo)簽庫(kù)的版本、所使用的JSP的版本、標(biāo)簽庫(kù)的名稱和這個(gè)庫(kù)中所包含的所有的標(biāo)簽的定義和參數(shù)描述,包括標(biāo)簽的名稱,標(biāo)簽所對(duì)應(yīng)的Java類,標(biāo)簽的描述信息等。 標(biāo)簽的實(shí)現(xiàn):一個(gè)標(biāo)簽就是一個(gè)特殊的Java 類,這個(gè)類必須繼承TagSupport類,這個(gè)類是在javaxservletjsptagext包中定義的。在標(biāo)簽類中,包含了這個(gè)標(biāo)簽的參數(shù)初始化方法SetGet、標(biāo)簽的主體處理方法Handler以及供下一級(jí)標(biāo)簽調(diào)用

15、的方法等。 模板的實(shí)現(xiàn):一個(gè)模板就是一個(gè)含有標(biāo)簽引用的JSP文件。為了在模板中引用所定義的標(biāo)簽,必須首先引入標(biāo)簽庫(kù)。 tagliburi“tagtldprefix“ctag 其中uri指定標(biāo)簽庫(kù)描述文件的路徑;prefix指定引用標(biāo)簽時(shí)所使用的前綴。 在模板中引用指定的標(biāo)簽時(shí),使用引入標(biāo)簽庫(kù)時(shí)所指定的前綴,指定標(biāo)簽的名稱;為標(biāo)簽的參數(shù)賦值。 222系統(tǒng)開(kāi)發(fā)環(huán)境 本系統(tǒng)主體程序開(kāi)發(fā)使用的是Borland公司的JBuilder60,模板開(kāi)發(fā)使用是Microsoft公司的FrontPage2000,標(biāo)簽庫(kù)開(kāi)發(fā)使用的是UltraEdit編輯器,JDK采用的是JDK14。系統(tǒng)測(cè)試環(huán)境是JRun30。 3結(jié)束語(yǔ) Java是未來(lái)開(kāi)發(fā)語(yǔ)言的主流,而Java在Web上的主要應(yīng)用JSP也必將成為未來(lái)Web開(kāi)發(fā)的主流技術(shù)。本系統(tǒng)采用了JSP的最大特點(diǎn)之一的標(biāo)簽庫(kù),使一般的Web開(kāi)發(fā)人員也能夠方便地使用JSP強(qiáng)大的動(dòng)態(tài)頁(yè)面功能,開(kāi)發(fā)出技術(shù)先進(jìn)的JSP動(dòng)態(tài)Web頁(yè)面。由于本系統(tǒng)采用Java語(yǔ)言進(jìn)行開(kāi)發(fā),所以可以在任何支持圖形化界面的操作系統(tǒng)下運(yùn)行,實(shí)現(xiàn)了完全的與平臺(tái)無(wú)關(guān)。本

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論