国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

JSP技術(shù)及其在動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)中的應(yīng)用分析

2020-01-18 02:58:43蔣治學(xué)
關(guān)鍵詞:網(wǎng)頁(yè)代碼頁(yè)面

蔣治學(xué)

(黃山職業(yè)技術(shù)學(xué)院,安徽 黃山 245000)

JSP(java server pages)是在sun microsystems公司主導(dǎo)下,由從多公司一起參與構(gòu)建的一種動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)技術(shù)標(biāo)準(zhǔn),其目的在于快速、便捷、簡(jiǎn)易地構(gòu)建一個(gè)基于web的網(wǎng)頁(yè)應(yīng)用程序。該技術(shù)的腳本語(yǔ)言是java語(yǔ)言,與其他動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)技術(shù)相比較,優(yōu)勢(shì)極大,尤其是跨平臺(tái)問(wèn)題上,更為有效,在windows、linux、soloris等平臺(tái)下都可以正常運(yùn)行[1],并且能夠高效率執(zhí)行相應(yīng)操作,是目前動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)的主要技術(shù)。JSP技術(shù)使WEB開(kāi)發(fā)設(shè)計(jì)人員能夠快速創(chuàng)建并維護(hù)動(dòng)態(tài)網(wǎng)頁(yè),尤其對(duì)于商業(yè)系統(tǒng)更為有利。JSP技術(shù)作為java的一個(gè)重要組成部分,能夠快速開(kāi)發(fā)出一個(gè)以web為基礎(chǔ),獨(dú)立于平臺(tái)的一個(gè)應(yīng)用程序,JSP使用戶界面與系統(tǒng)內(nèi)容有效分離,設(shè)計(jì)人員不需要改動(dòng)底層動(dòng)態(tài)內(nèi)容,就能夠?qū)φ麄€(gè)網(wǎng)頁(yè)布局進(jìn)行轉(zhuǎn)換。本文對(duì)JSP技術(shù)、技術(shù)原理及在動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)中的應(yīng)用進(jìn)行分析[2]。

1 JSP技術(shù)

1.1 JSP基本技術(shù)原理

JSP作為一種開(kāi)發(fā)語(yǔ)言,與原有硬件平臺(tái)相分離,從一定程度上說(shuō),分離了靜態(tài)網(wǎng)頁(yè)與動(dòng)態(tài)網(wǎng)頁(yè),使系統(tǒng)整體運(yùn)行效率顯著提高。從JSP技術(shù)原理角度講,JSP與ASP技術(shù)仍然存在很多相似之處,均是以HTML標(biāo)記集合的進(jìn)一步擴(kuò)展為基礎(chǔ)的,這些標(biāo)記經(jīng)過(guò)擴(kuò)展后,能夠有效進(jìn)行識(shí)別與解釋,但需要在服務(wù)器上安裝相應(yīng)的JSP引擎,并在引擎支持下,才能夠正確識(shí)別這些標(biāo)記。WEB服務(wù)器接收到用戶發(fā)現(xiàn)的請(qǐng)求時(shí),JSP會(huì)將這些文件轉(zhuǎn)換成servlet代碼[3],再將轉(zhuǎn)換結(jié)果上傳至JVM,JVM會(huì)直接對(duì)代碼進(jìn)行編譯,在服務(wù)器中直接執(zhí)行編譯生成的文件,再將JSP接收到的編碼結(jié)果傳輸至服務(wù)器,完成要求的工作后上傳結(jié)果。服務(wù)器會(huì)以頁(yè)面形式,向客戶端上傳獲取的結(jié)果,用戶通過(guò)瀏覽器就能夠直接查看結(jié)果。代碼執(zhí)行前提是用戶提出的請(qǐng)求,因此,在調(diào)用代碼時(shí),還需要消耗一定的時(shí)間進(jìn)行加載才能完成整個(gè)過(guò)程。編譯并執(zhí)行JSP后,后臺(tái)就能夠獨(dú)立運(yùn)行這些編譯代碼,用戶再次對(duì)JSP發(fā)出相應(yīng)的請(qǐng)求后,就會(huì)自動(dòng)執(zhí)行這一程序,使整個(gè)程序能夠始終保持高效運(yùn)行[4]。

1.2 JSP的技術(shù)優(yōu)勢(shì)

JSP是以java servlet為基礎(chǔ)構(gòu)建的一個(gè)服務(wù),同時(shí),還對(duì)這一技術(shù)進(jìn)行了優(yōu)化改進(jìn),因此,能夠使java運(yùn)行環(huán)境下的WEB程序開(kāi)發(fā)更為高效。(1)JSP能夠生成并顯示分離內(nèi)容,通過(guò)JSP技術(shù),設(shè)計(jì)人員可以運(yùn)用HTML、XHL等語(yǔ)言格式化并開(kāi)發(fā)最終所需頁(yè)面,并運(yùn)用小腳本技術(shù)或JSP標(biāo)識(shí)等,生成動(dòng)態(tài)網(wǎng)頁(yè)內(nèi)容。生成的動(dòng)態(tài)內(nèi)容能夠在java bean組件及標(biāo)識(shí)中進(jìn)行封裝,捆綁腳本,使JSP標(biāo)識(shí)、腳本均能夠在服務(wù)器端上同時(shí)運(yùn)行,JSP相應(yīng)的引擎會(huì)對(duì)這些內(nèi)容進(jìn)行解釋,最后生成用戶所請(qǐng)求的相應(yīng)內(nèi)容。(2)能夠在各種平臺(tái)中有效適應(yīng)并保持很高的執(zhí)行效率。JSP在頁(yè)面內(nèi)容當(dāng)中內(nèi)置了腳本語(yǔ)言,由于其設(shè)計(jì)開(kāi)發(fā)運(yùn)用了java編程語(yǔ)言,因此天然具備了一次編寫,因此可以多平臺(tái)運(yùn)行,能夠在各平臺(tái)間進(jìn)行轉(zhuǎn)移,不需要重新編譯相應(yīng)平臺(tái)所需要的JSP與java,整體運(yùn)行更快,執(zhí)行效率更高。(3)可重用組件。JSP在處理較為復(fù)雜的程序時(shí),要依賴于組件,通過(guò)重用組件的方法,能夠使整體開(kāi)發(fā)進(jìn)程更為順利,在完善技能的同時(shí),優(yōu)化開(kāi)發(fā)效果。第四,頁(yè)面開(kāi)發(fā)更為簡(jiǎn)化。WEB腳本語(yǔ)言并非所有編程人員都能夠深層次了解并掌握的內(nèi)容,但在java技術(shù)下,其內(nèi)部封裝了各種經(jīng)過(guò)HTML標(biāo)記所生成的動(dòng)態(tài)內(nèi)容,一些必須的易用功能都封裝在內(nèi)。通過(guò)標(biāo)準(zhǔn)的JSP技術(shù)訪問(wèn)java組件,可以利用檢索或組件屬性設(shè)置,再下載一個(gè)applet執(zhí)行這些繁瑣、復(fù)雜、耗時(shí)的功能。開(kāi)發(fā)人員可以在個(gè)人標(biāo)記庫(kù)中創(chuàng)設(shè)個(gè)性化的易用功能,使設(shè)計(jì)人員能夠更為簡(jiǎn)單、高效地開(kāi)發(fā)各種WEB頁(yè)面。(4)可擴(kuò)展性強(qiáng)。一個(gè)所具備的擴(kuò)展與增強(qiáng)能力,可對(duì)已有特性輕易進(jìn)行修改,將新特性輕易地加入進(jìn)去,且這些修改與增加不會(huì)影響系統(tǒng)其他部分的運(yùn)行,這種功能被稱為可擴(kuò)展性。開(kāi)發(fā)人員能夠利用JSP技術(shù)中的個(gè)性化標(biāo)記庫(kù)對(duì)動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)過(guò)程進(jìn)行擴(kuò)展[5]。

2 基于JSP技術(shù)的動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)應(yīng)用

2.1 技術(shù)優(yōu)勢(shì)

Java編譯代碼運(yùn)行時(shí)會(huì)利用操作系統(tǒng)中自帶的JVM虛擬機(jī)進(jìn)行解釋,不需要改動(dòng)任何字節(jié)代碼就能夠在所有平臺(tái)上進(jìn)行轉(zhuǎn)移,尤其對(duì)于圖形化界面的使用,servlet本身不需要圖形界面,與傳統(tǒng)java程序相比,其運(yùn)行速度更快。HTML需要的GUI很少,因此服務(wù)器運(yùn)行時(shí)就不再需要加載很多冗長(zhǎng)復(fù)雜的GUI,僅在用戶發(fā)現(xiàn)請(qǐng)求時(shí),servlet字節(jié)代碼會(huì)執(zhí)行所需要的GUI。servlet被首次調(diào)用時(shí),需要消耗一定時(shí)間進(jìn)行加載,但已經(jīng)運(yùn)行過(guò)的servlet則已經(jīng)在服務(wù)器中有了緩存內(nèi)容,因此后續(xù)請(qǐng)求處理速度很快。JSP與java平臺(tái)的結(jié)合非常緊密,當(dāng)前使用的JSP服務(wù)器,均攜帶有java即時(shí)編譯器,不需要像ASP、PHP等其它動(dòng)態(tài)網(wǎng)頁(yè)代碼一樣,每次都需要經(jīng)過(guò)解釋才能運(yùn)行,尤其是一些循環(huán)操作代碼,使用JSP技術(shù)進(jìn)行處理時(shí),其速度較其它代碼能夠提升1~2個(gè)數(shù)量級(jí)。

2.2 JSP技術(shù)在動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)中的實(shí)現(xiàn)方式

運(yùn)用JSP技術(shù)進(jìn)行動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)主要有2種實(shí)現(xiàn)方式:第一種是直接在HTML頁(yè)面中嵌入java程序,即直接在HTML頁(yè)面中寫入servlet源代碼。第二種是直接在JSP頁(yè)面下調(diào)用java bean,通過(guò)java bean包含的強(qiáng)大功能發(fā)揮作用。這兩種實(shí)現(xiàn)方式的具體運(yùn)用是由設(shè)計(jì)人員能力與項(xiàng)目困難度決定的。當(dāng)設(shè)計(jì)人員對(duì)于java語(yǔ)言編程及HTML頁(yè)面設(shè)計(jì)都很熟悉時(shí),就可以使用第一種方式,直接改動(dòng)少量需要維護(hù)的文件數(shù)目即可,但會(huì)影響文件可讀性。頁(yè)面結(jié)構(gòu)較為復(fù)雜時(shí),java代碼與HTML代碼的混雜會(huì)增加閱讀與改動(dòng)的難度。此時(shí),需要使用后一種方法,將java代碼與HTML頁(yè)面直接分離,此時(shí),需要維護(hù)較多數(shù)量的文件,但頁(yè)面結(jié)構(gòu)更為清晰,java代碼程度也更為獨(dú)立,能夠?qū)⑦@些代碼直接編譯與可重用組件,將java程序與HTML頁(yè)面的參數(shù)傳遞機(jī)制進(jìn)行規(guī)范化處理后,可以由多個(gè)設(shè)計(jì)人員對(duì)java程度與HTML頁(yè)面設(shè)計(jì)進(jìn)行獨(dú)立開(kāi)發(fā),是企業(yè)級(jí)大項(xiàng)目的首選方法,更適宜于分工合作,提高開(kāi)發(fā)效率。

3 利用JSP技術(shù)設(shè)計(jì)動(dòng)態(tài)網(wǎng)頁(yè)

在運(yùn)用JSP設(shè)計(jì)動(dòng)態(tài)網(wǎng)頁(yè)時(shí),先建立一個(gè)能夠運(yùn)行JSP的計(jì)算機(jī)運(yùn)行環(huán)境,即安裝一個(gè)能夠支持JSP的應(yīng)用服務(wù)器或WEB服務(wù)器,或者直接在WEB服務(wù)器上安裝一個(gè)JSP引擎。本次設(shè)計(jì)所使用的WEB服務(wù)器是JSWDK1.0.1,該服務(wù)器能夠支持JSP,不再需要另外安裝一個(gè)相應(yīng)的JSP引擎,只需要在JSD支持下運(yùn)行即可,本次使用的是java SE 8.0,內(nèi)部加載了jbuilder。以在線注冊(cè)動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)為例,采用以下兩種方法來(lái)實(shí)現(xiàn)這一動(dòng)態(tài)網(wǎng)頁(yè)。[6-7]

3.1 在JSP頁(yè)面直接嵌入一個(gè)Java程序

這種方法就是在在JSP頁(yè)面直接嵌入一個(gè)java程序,對(duì)后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),JSP能夠通過(guò)JDBC連接后臺(tái)數(shù)據(jù)庫(kù)。第1步,加載一個(gè)可用的JDBA驅(qū)動(dòng)程序如ODBA橋驅(qū)動(dòng)程序;第2步,與數(shù)據(jù)庫(kù)建立一個(gè)連接對(duì)象,這一步可以DriverManager服務(wù)中的GetConnection這一方法實(shí)現(xiàn);第3步,建立一個(gè)語(yǔ)句對(duì)象,選擇Connection對(duì)象下的createStatement這一方法構(gòu)建;第四步,通過(guò)Statement對(duì)象,執(zhí)行Insert into、Delete、Select等SQL命令,如,執(zhí)行Select命令時(shí),就會(huì)返回到1個(gè)對(duì)應(yīng)的結(jié)果集對(duì)象中。

3.2 在JSP頁(yè)面運(yùn)用JavaBean對(duì)后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)

這種方法是先通過(guò)JSP頁(yè)面下的AddUser2.jsp獲取客戶端中提交的信息,再建立一個(gè)命令,執(zhí)行后續(xù)的java bean調(diào)用操作,再結(jié)合獲取的信息內(nèi)容設(shè)置一個(gè)與java bean相對(duì)應(yīng)的屬性,之后再直接通過(guò)AddUser的調(diào)用方法確定是否添加用戶名即可。但由于java是以Unicode字符集進(jìn)行開(kāi)發(fā)的,計(jì)算機(jī)操作系統(tǒng)中的數(shù)據(jù)庫(kù)普遍不是以Unicode字符開(kāi)發(fā)的,在處理程序語(yǔ)言中的一些漢字時(shí)會(huì)出現(xiàn)問(wèn)題,如在數(shù)據(jù)庫(kù)中添加一些夾帶有漢字的記錄時(shí),就面臨異常情況或添加不準(zhǔn)確的情況,這一問(wèn)題需要從Sun中國(guó)網(wǎng)站中下載一個(gè)有中文支持系統(tǒng)的JDK版本來(lái)解決這一問(wèn)題。

4 結(jié) 語(yǔ)

JSP是一種以java servlet技術(shù)為基礎(chǔ),經(jīng)過(guò)大量改進(jìn)后構(gòu)建的一種理想的web應(yīng)用開(kāi)發(fā)框架,是一種開(kāi)放性高、跨平臺(tái)性強(qiáng)的結(jié)構(gòu),能夠使編譯后的動(dòng)態(tài)網(wǎng)頁(yè)程序在不影響JSP基本程序的同時(shí),在WEB服務(wù)器、多個(gè)操作平臺(tái)上、其他組件中簡(jiǎn)單地實(shí)現(xiàn)升級(jí)或切換,是一種更為適應(yīng)當(dāng)前web應(yīng)用程序需求的技術(shù),基于JSP技術(shù)設(shè)計(jì)的動(dòng)態(tài)網(wǎng)頁(yè)程序較ASP、PHP等的執(zhí)行效率更高,維護(hù)管理更為簡(jiǎn)單,是未來(lái)動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)的主流技術(shù)。

猜你喜歡
網(wǎng)頁(yè)代碼頁(yè)面
刷新生活的頁(yè)面
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
基于CSS的網(wǎng)頁(yè)導(dǎo)航欄的設(shè)計(jì)
電子制作(2018年10期)2018-08-04 03:24:38
基于URL和網(wǎng)頁(yè)類型的網(wǎng)頁(yè)信息采集研究
電子制作(2017年2期)2017-05-17 03:54:56
網(wǎng)頁(yè)制作在英語(yǔ)教學(xué)中的應(yīng)用
10個(gè)必知的網(wǎng)頁(yè)設(shè)計(jì)術(shù)語(yǔ)
同一Word文檔 縱橫頁(yè)面并存
大丰市| 定陶县| 甘洛县| 惠来县| 通辽市| 隆德县| 沙坪坝区| 安岳县| 洪洞县| 蒲江县| 裕民县| 敖汉旗| 北流市| 旬邑县| 酉阳| 霸州市| 太仓市| 石城县| 大安市| 虎林市| 科技| 桑日县| 嘉义县| 若尔盖县| 长泰县| 青田县| 麦盖提县| 鄱阳县| 庆阳市| 应城市| 焉耆| 萨迦县| 定边县| 昌邑市| 呼图壁县| 安远县| 曲靖市| 通州区| 昔阳县| 新昌县| 崇文区|