欧美国产日韩精品-欧美国产日韩久久久-欧美国产日韩一区二区三区-欧美国产日韩在线-台湾毛片-台湾美女古装一级毛片

探析JSP網(wǎng)頁自動生成工具設(shè)計(jì)實(shí)現(xiàn)

來源:期刊VIP網(wǎng)所屬分類:計(jì)算機(jī)信息管理時(shí)間:瀏覽:

  摘要:Java是未來開發(fā)語言的主流,而Java在Web上的主要應(yīng)用JSP也必將成為未來Web開發(fā)的主流技術(shù)。本系統(tǒng)采用了JSP的最大特點(diǎn)之一的標(biāo)簽庫,使一般的Web開發(fā)人員也能夠方便地使用JSP強(qiáng)大的動態(tài)頁面功能,開發(fā)出技術(shù)先進(jìn)的JSP動態(tài)Web頁面。

  關(guān)鍵詞:JSP,自動生成,Web開發(fā),標(biāo)簽,標(biāo)簽庫,模板

  引 言

  隨著WWW(World Wide Web)的普及,動態(tài)網(wǎng)頁技術(shù)也急速發(fā)展。從原來的CGI(Common Gateway In-terface)到ASP(Active Server Page),都從某種程度上滿足了網(wǎng)頁開發(fā)人員對動態(tài)網(wǎng)頁開發(fā)技術(shù)的需求。但是不管是CGI還是ASP都存在一定的局限性,如CGI對服務(wù)器資源的耗費(fèi),ASP只能同Microsoft IIS一起使用等,這些都限制了這些技術(shù)的使用范圍,極大地阻礙了它們的推廣。廣大的頁面開發(fā)人員都熱切地盼望一種統(tǒng)一的頁面開發(fā)技術(shù),該技術(shù)應(yīng)該具有的特點(diǎn):①與操作平臺無關(guān),能夠在任何Web或應(yīng)用程序服務(wù)器上運(yùn)行;②將應(yīng)用程序邏輯和頁面顯示分離;③提供代碼重用,簡化開發(fā)基于Web的交互式應(yīng)用程序的過程。

  JSP(Java Server Page)技術(shù)就是被設(shè)計(jì)用來滿足這樣的要求的。JSP是由Sun MicroSystem公司于1999年6月推出的新的網(wǎng)頁開發(fā)技術(shù),它是基于Java Serv-let以及整個(gè)Java體系的Web開發(fā)技術(shù),是Servlet2.1API的擴(kuò)展。利用這一技術(shù),可以建立先進(jìn)、安全和跨平臺的動態(tài)網(wǎng)站。

  Java是未來的主流開發(fā)技術(shù),具有很多優(yōu)勢。JSP則是Java在Internet/Intranet Web上的重要應(yīng)用技術(shù),得到了廣泛的支持和承認(rèn),它可以和各種Java技術(shù)完好地結(jié)合在一起,從而實(shí)現(xiàn)非常復(fù)雜的應(yīng)用。

  作為一種基于文本的、以顯示為中心的開發(fā)技術(shù),JSP提供了Java Servlet的所有好處。為了做到邏輯功能和顯示功能分開,JSP已經(jīng)可以和JavaBeans、Enterprise JavaBeans(EJB)和Servlet一起工作。JSP的開發(fā)人員可以通過使用JavaBeans、EJB和Servlet來完成大部分與網(wǎng)站邏輯相關(guān)的工作,而僅僅把顯示的工作交給JSP頁面來完成。內(nèi)容和顯示邏輯分開的好處在于,更新頁面外觀的人員不必懂得Java代碼,而更新Java類的人員也不必是設(shè)計(jì)網(wǎng)頁的行家。這就可以用帶Java類的JSP頁面來定義Web模板,以建立一個(gè)具有相似外觀的頁面組成的網(wǎng)站。Java類完成數(shù)據(jù)提供,在模板中就沒有Java代碼,這意味著這些模板可以由一個(gè)HTML編寫人員來維護(hù)。

  JSP作為當(dāng)前主流的網(wǎng)頁開發(fā)技術(shù),具有如下特點(diǎn)。

  1)將內(nèi)容的生成和顯示進(jìn)行分離:使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計(jì)和格式化最終的頁面。使用JSP標(biāo)識或者小腳本來生成頁面上的動態(tài)內(nèi)容(內(nèi)容是根據(jù)請求來變化的)。生成內(nèi)容的邏輯被封裝在標(biāo)識和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識和JavaBeans中,那么其他人,如Web管理人員和頁面設(shè)計(jì)者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。

  2)強(qiáng)調(diào)可重用的組件:絕大多數(shù)JSP頁面依賴于可重用的、跨平臺的組件來完成應(yīng)用程序所要求的更為復(fù)雜的處理。得益于Java的操作平臺無關(guān)性,開發(fā)人員能夠很方便共享和交流執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者所使用。基于組件的方法加速了總體的開發(fā)過程,極大地提高了項(xiàng)目整體開發(fā)的效率。

  雖然JSP功能強(qiáng)大,但是它要求網(wǎng)頁開發(fā)人員對Java要相當(dāng)熟悉。而現(xiàn)在Java程序員還比較少,對一般的網(wǎng)頁開發(fā)人員來說,JSP的語法還是比較難于掌握的。所以,就需要有一種網(wǎng)頁開發(fā)工具,為一般的網(wǎng)頁開發(fā)人員提供常用的JSP應(yīng)用,讓只懂得一般頁面開發(fā)技術(shù)(HTML)的開發(fā)人員也能夠使用JSP的強(qiáng)大功能。

  1 系統(tǒng)設(shè)計(jì)目標(biāo)和使用的主要技術(shù)

  1.1 設(shè)計(jì)目標(biāo)

  本系統(tǒng)的設(shè)計(jì)目標(biāo)是為只懂得HTML但完全不了解JSP的一般網(wǎng)頁開發(fā)人員提供一個(gè)網(wǎng)頁開發(fā)工具,使他們能夠根據(jù)系統(tǒng)文檔,通過標(biāo)簽使用JSP的常用功能,最后生成一個(gè)只包含靜態(tài)HTML和JSP標(biāo)簽的動態(tài)JSP網(wǎng)頁。

  1.2 主要技術(shù)

  本系統(tǒng)在設(shè)計(jì)時(shí),主要考慮使用模板和JSP標(biāo)簽的技術(shù)來實(shí)現(xiàn)。

  1.2.1 模板技術(shù)

  模板技術(shù)被廣泛地應(yīng)用于各種開發(fā)和應(yīng)用系統(tǒng)中。它預(yù)先生成一些常用的框架結(jié)構(gòu),使用戶可以根據(jù)自己的需要方便地從模板庫中選擇模板,而不用自己重新去搭建,節(jié)省了用戶的開發(fā)時(shí)間,方便了用戶的使用。在本系統(tǒng)中,將頁面按照功能類型進(jìn)行分類,歸納出常用的頁面類型,生成模板庫。

  1.2.2 標(biāo)簽庫技術(shù)

  在JSP中,動作是可以創(chuàng)造與訪問程序語言對象和影響輸出流的元素。JSP定義了六個(gè)標(biāo)準(zhǔn)的動作。除了這六個(gè)標(biāo)準(zhǔn)動作以外,用戶可以定義自己的動作來完成特定的功能。這些動作被稱為客戶化動作,它們是可重用的程序模塊。通過這些動作,程序員就可以在JSP頁面中把頁面的顯示功能也部分地封裝起來,使整個(gè)頁面更加簡潔和易于維護(hù)。在一個(gè)JSP頁面中,這些客戶化動作是通過客戶化標(biāo)簽來調(diào)用的。而標(biāo)簽庫(Tag Library)就是客戶化標(biāo)簽的集合。

  JSP標(biāo)簽庫是一種通過JavaBeans生成基于XML的腳本的方法。它是JSP的最大特點(diǎn)之一。通過標(biāo)簽庫,能夠無限制地?cái)U(kuò)展JSP應(yīng)用,完成任何復(fù)雜的應(yīng)用需求。

  JSP標(biāo)簽庫具有以下特點(diǎn)。

  1)易于使用:JSP中的標(biāo)簽和一般的HTML標(biāo)記外表上是完全一樣的,使用起來和普通的HTML標(biāo)記一樣方便。

  2)易于代碼重用:標(biāo)簽庫中的每一個(gè)標(biāo)簽都能完成一定的功能。一旦定義好了一個(gè)標(biāo)簽庫,只需要把這個(gè)標(biāo)簽庫包裝成一個(gè)Jar文件,那么以后只要在別的系統(tǒng)中使用這個(gè)標(biāo)簽庫就行了,而不用重新開發(fā)代碼,極大地提高了系統(tǒng)開發(fā)效率,降低了開發(fā)成本。

  3)易于代碼維護(hù):所有的應(yīng)用邏輯都封裝在標(biāo)簽處理器和JavaBeans中,所有的標(biāo)簽都集中在一個(gè)標(biāo)簽庫中。如果需要更新代碼或者需要修改一個(gè)網(wǎng)頁上的功能,只需要修改相應(yīng)的標(biāo)簽即可。通過這種統(tǒng)一維護(hù)方式,不用在每個(gè)網(wǎng)頁上去作修改,極大地減少了維護(hù)的工作量,節(jié)約了維護(hù)成本。

  4)易于系統(tǒng)擴(kuò)充:如果需要向系統(tǒng)中添加新的功能,只需要定義一個(gè)新的標(biāo)簽來完成這一功能即可,無需對系統(tǒng)的其它方面作任何改動。標(biāo)簽庫可以繼承JSP規(guī)范各方面的特性。這樣就可以無限制地?cái)U(kuò)展和增加JSP的功能,而不需要等待下一版本JSP的出現(xiàn)。

  2 系統(tǒng)的組成和實(shí)現(xiàn)

  2.1 系統(tǒng)組成

  本系統(tǒng)主要由四個(gè)部分組成,見圖1。

  1)數(shù)據(jù)庫連接部分:本系統(tǒng)支持常用的幾個(gè)數(shù)據(jù)庫,包括Oracle、Sybase、MSSQLServer、MySQL和DB2,根據(jù)用戶選擇的數(shù)據(jù)庫類型和用戶提供的數(shù)據(jù)庫名稱、用戶名、密碼使用JDBC同數(shù)據(jù)庫相連。

  2)系統(tǒng)基本表生成部分:和數(shù)據(jù)庫連接以后,根據(jù)同數(shù)據(jù)庫相連的用戶名生成兩個(gè)系統(tǒng)基本表TC-Tables和TC-Columns,TC-Tables表包含在該數(shù)據(jù)庫中屬于該用戶的所有的表的英文名稱、中文名稱和一些屬性,如是否可修改、是否可查詢等;TC-Columns表包含在該數(shù)據(jù)庫中屬于該用戶的所有的表的所有列的中英文名稱和其它一些屬性。如是否可顯示、是否可查詢等。這兩個(gè)系統(tǒng)基本表在整個(gè)系統(tǒng)的開發(fā)過程中提供用戶所使用數(shù)據(jù)庫的基本信息。

  3)模板選擇和網(wǎng)頁生成部分:該部分是系統(tǒng)的核心部分。它包含了兩個(gè)子模塊。

 ?、倌0暹x擇部分:系統(tǒng)為用戶提供模板選擇界面,讓用戶根據(jù)需要從模板庫中選擇所要使用的模板。

 ?、谀0逄幚聿糠郑焊鶕?jù)用戶選擇的模板,系統(tǒng)調(diào)用指定的模板處理模塊對這個(gè)模板進(jìn)行處理。當(dāng)處理程序遇到模板中的標(biāo)簽時(shí),就為用戶提供交互界面,讓用戶為指定的標(biāo)簽輸入?yún)?shù),并由系統(tǒng)驗(yàn)證用戶輸入的標(biāo)簽的有效性。最后由系統(tǒng)完成JSP頁面的生成。

  4)網(wǎng)頁預(yù)覽和修改部分:網(wǎng)頁生成出來以后,系統(tǒng)為用戶提供了一個(gè)網(wǎng)頁預(yù)覽窗口和代碼查看修改窗口。通過這個(gè)預(yù)覽窗口,用戶可以預(yù)覽一下生成出來的JSP頁面的效果。如果用戶對頁面的靜態(tài)方面的效果不太滿意,用戶可以通過代碼查看修改窗口修改代碼中的HTML代碼。如果用戶對頁面的靜態(tài)效果有進(jìn)一步的要求,系統(tǒng)還為用戶提供了一個(gè)調(diào)用DreamWeaver編輯器的接口,用戶可以使用它來對生成出來的JSP頁面的靜態(tài)效果進(jìn)行進(jìn)一步的修改和完善。

  2.2 系統(tǒng)的實(shí)現(xiàn)

  2.2.1 模板庫和標(biāo)簽庫的實(shí)現(xiàn)

  標(biāo)簽庫的規(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。對于一般用戶來說,標(biāo)簽是透明的。用戶不能夠查看和修改標(biāo)簽。如果在標(biāo)簽中包含了過多的靜態(tài)HT-ML語句,將影響用戶對頁面的靜態(tài)效果的修改和完善,限制標(biāo)簽的使用。

  2)盡量提高代碼的重用度。在對JSP應(yīng)用進(jìn)行分類是盡量把公用的JSP應(yīng)用提取出來,形成標(biāo)簽。而不用在每個(gè)標(biāo)簽中都重復(fù)實(shí)現(xiàn)該應(yīng)用。這樣在以后要對該應(yīng)用進(jìn)行修改和完善時(shí),只需對這一個(gè)標(biāo)簽進(jìn)行修改即可,易于代碼的維護(hù)。

  3)方便用戶的使用。在設(shè)計(jì)標(biāo)簽庫時(shí),應(yīng)該充分考慮到用戶的使用情況,使用戶能夠很容易和方便地理解和使用標(biāo)簽。

 ?、贅?biāo)簽庫的定義:定義一個(gè)標(biāo)簽庫,必須首先定義一個(gè)標(biāo)簽庫描述文件(TLD)。這是一個(gè)基于XML的腳本文件,在這個(gè)文件中定義了XML的版本、所使用的編碼、標(biāo)簽庫的版本、所使用的JSP的版本、標(biāo)簽庫的名稱和這個(gè)庫中所包含的所有的標(biāo)簽的定義和參數(shù)描述,包括標(biāo)簽的名稱,標(biāo)簽所對應(yīng)的Java類,標(biāo)簽的描述信息等。

 ?、跇?biāo)簽的實(shí)現(xiàn):一個(gè)標(biāo)簽就是一個(gè)特殊的Java

  類,這個(gè)類必須繼承TagSupport類,這個(gè)類是在javax.servlet.jsp.tagext包中定義的。在標(biāo)簽類中,包含了這個(gè)標(biāo)簽的參數(shù)初始化方法(Set/Get)、標(biāo)簽的主體處理方法(Handler)以及供下一級標(biāo)簽調(diào)用的方法等。

 ?、勰0宓膶?shí)現(xiàn):一個(gè)模板就是一個(gè)含有標(biāo)簽引用的JSP文件。為了在模板中引用所定義的標(biāo)簽,必須首先引入標(biāo)簽庫。

  其中uri指定標(biāo)簽庫描述文件的路徑;prefix指定引用標(biāo)簽時(shí)所使用的前綴。

  在模板中引用指定的標(biāo)簽時(shí),使用引入標(biāo)簽庫時(shí)所指定的前綴,指定標(biāo)簽的名稱;為標(biāo)簽的參數(shù)賦值。

  2.2.2 系統(tǒng)開發(fā)環(huán)境

  本系統(tǒng)主體程序開發(fā)使用的是Borland公司的JBuilder 6.0,模板開發(fā)使用是Microsoft公司的Front-Page2000,標(biāo)簽庫開發(fā)使用的是UltraEdit編輯器,JDK采用的是JDK1.4。系統(tǒng)測試環(huán)境是JRun3.0。

  3 結(jié)束語

  由于本系統(tǒng)采用Java語言進(jìn)行開發(fā),所以可以在任何支持圖形化界面的操作系統(tǒng)下運(yùn)行,實(shí)現(xiàn)了完全的與平臺無關(guān)。本系統(tǒng)易于擴(kuò)充和完善。在以后可以考慮為用戶提供接口,使用戶可以自己擴(kuò)充模板庫和標(biāo)簽庫,進(jìn)一步增強(qiáng)系統(tǒng)的功能。

  參考文獻(xiàn)

  [1] Cay S.Horstmann,Gary Cornell.Java 2核心技術(shù)(CoreJava 2)[M].北京:機(jī)械工業(yè)出版社.

  [2] Bruce Eckel.Java編程思想(Thinking in Java)[M].北京:機(jī)械工業(yè)出版社.

  [3] Joseph L.Weber.Java 2編程詳解(Using Java 2)[M].北京:電子工業(yè)出版社.

  [4] Borland公司.Building Applications with JBuilder.

精品在线视频播放| 免费国产在线观看不卡| 四虎影视库| 欧美a级片免费看| 精品久久久久久影院免费| 九九久久国产精品大片| 国产激情一区二区三区| 成人免费福利片在线观看| 黄视频网站在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 99久久精品国产片| 精品国产三级a| 亚洲女人国产香蕉久久精品| 九九久久99| 国产一区二区精品久久91| 黄色免费三级| 欧美激情中文字幕一区二区| 国产一区精品| 精品在线观看一区| 精品国产一区二区三区久| 亚洲第一色在线| 韩国三级香港三级日本三级| 亚洲精品影院久久久久久| 欧美激情一区二区三区在线| 国产网站在线| 国产一级生活片| 99久久精品国产片| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 午夜欧美成人久久久久久| 免费国产在线视频| 高清一级片| 高清一级淫片a级中文字幕 | 国产一区二区精品| 国产视频一区在线| 久草免费资源| 欧美一区二区三区在线观看| 精品国产一区二区三区精东影业| 久久精品大片| 国产激情一区二区三区| 亚洲精品影院一区二区| 九九国产| 久久精品欧美一区二区| 日韩专区亚洲综合久久| 91麻豆精品国产自产在线| 日本免费看视频| 亚欧视频在线| 国产网站免费观看| 久久国产一区二区| 成人影院久久久久久影院| 尤物视频网站在线| 日韩av东京社区男人的天堂| 国产欧美精品| 欧美另类videosbestsex| 国产a视频| a级黄色毛片免费播放视频| 亚久久伊人精品青青草原2020| 九九热精品免费观看| 韩国毛片 免费| 日韩av成人| a级黄色毛片免费播放视频| 精品毛片视频| 天天做日日爱| 99色精品| 精品久久久久久免费影院| 欧美国产日韩久久久| 尤物视频网站在线| 欧美国产日韩在线| 成人高清视频免费观看| 国产一区二区精品尤物| 成人免费观看男女羞羞视频| 夜夜操网| 欧美一级视频免费| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日本特黄特色aaa大片免费| 免费国产在线视频| 日本在线www| 九九热精品免费观看| 在线观看成人网| 亚久久伊人精品青青草原2020| 亚洲爆爽| 精品在线观看一区| 久久99青青久久99久久| 一级女性全黄久久生活片| 久久国产一久久高清| 日本伦理片网站| 欧美激情一区二区三区视频 | 你懂的福利视频| 国产伦精品一区三区视频| 精品久久久久久免费影院| 日日爽天天| 九九九国产| 久久国产精品自由自在| 999久久狠狠免费精品| a级毛片免费观看网站| 999久久久免费精品国产牛牛| 精品视频在线观看一区二区三区| 精品久久久久久中文字幕2017| 99久久精品国产高清一区二区 | 国产成人精品综合在线| 国产一区精品| 免费一级片网站| 91麻豆精品国产自产在线 | 久久久久久久网| 国产视频在线免费观看| 亚洲不卡一区二区三区在线| 日韩免费片| 精品视频免费在线| 日韩在线观看免费完整版视频| 九九热精品免费观看| 欧美大片一区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 亚洲精品中文一区不卡 | 毛片高清| 国产a免费观看| 999精品视频在线| 色综合久久天天综合观看| 欧美一级视频免费| 97视频免费在线观看| 成人免费一级毛片在线播放视频| 91麻豆精品国产片在线观看| 免费一级片在线| 欧美电影免费| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩男人天堂| 深夜做爰性大片中文| 成人免费福利片在线观看| 国产精品自拍亚洲| 日韩专区亚洲综合久久| 免费一级片网站| 日韩中文字幕一区| 精品国产香蕉在线播出 | 成人高清免费| 国产精品自拍亚洲| 亚洲天堂在线播放| 免费国产在线观看不卡| 国产不卡高清在线观看视频| 四虎影视库国产精品一区| 99久久精品国产麻豆| 九九九网站| 欧美1卡一卡二卡三新区| 中文字幕97| 久久久久久久男人的天堂| 亚洲精品久久久中文字| 黄色短视屏| 99热热久久| 精品久久久久久中文字幕2017| 精品国产一区二区三区免费| 久久99中文字幕| 欧美另类videosbestsex| 亚洲精品影院久久久久久| 欧美日本韩国| 成人在免费观看视频国产| 青青久热| 999精品视频在线| 99久久精品国产高清一区二区 | 九九久久国产精品大片| 国产激情一区二区三区| 国产亚洲免费观看| 99久久网站| 精品视频在线观看一区二区| 日韩综合| 精品国产三级a| 97视频免费在线| 国产91视频网| 99久久网站| 国产网站免费观看| 国产精品免费久久| 精品国产一区二区三区免费| 久久国产一久久高清| 青青久久精品| 国产91精品一区| 欧美另类videosbestsex视频| 久久99中文字幕久久| 国产极品白嫩美女在线观看看| 日韩中文字幕在线亚洲一区| 久久国产一区二区| 欧美一级视频免费| 天堂网中文在线| 青青久久精品| 国产a网| 99久久网站| 国产视频一区二区在线观看| 黄视频网站免费看| 久久99这里只有精品国产| 日韩av东京社区男人的天堂| 可以免费看毛片的网站| 尤物视频网站在线| 日韩男人天堂| 久久99这里只有精品国产| 可以免费看污视频的网站| 国产麻豆精品视频| 国产网站免费观看| 人人干人人草| 黄视频网站在线免费观看| 天天做人人爱夜夜爽2020| 二级片在线观看| 中文字幕一区二区三区精彩视频| 亚洲精品影院一区二区| 精品国产一区二区三区久久久蜜臀| 美女免费精品高清毛片在线视|