jsp技術(shù)科技論文
jsp技術(shù)科技論文
JSP技術(shù)是進(jìn)行動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)過(guò)程中的關(guān)鍵技術(shù),這是學(xué)習(xí)啦小編為大家整理的jsp技術(shù)科技論文,僅供參考!
淺談JSP技術(shù)篇一
【摘 要】JSP(Java Server Page服務(wù)器網(wǎng)頁(yè))是從1998年開(kāi)始出現(xiàn)的新技術(shù)。由Sun公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),是基于JavaServlet以及整個(gè)Java體系的web開(kāi)發(fā)技術(shù)。文章主要介紹了JSP技術(shù)的工作原理、系統(tǒng)結(jié)構(gòu)和特點(diǎn)。
【關(guān)鍵詞】JSP;服務(wù)器網(wǎng)頁(yè);Java
中圖分類(lèi)號(hào):TP39 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-0278(2013)07-195-01
一、JSP技術(shù)簡(jiǎn)介
JSP(Java Server Page服務(wù)器網(wǎng)頁(yè))是從1998年開(kāi)始出現(xiàn)的新技術(shù)。由Sun公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),是基于JavaServlet以及整個(gè)Java體系的web開(kāi)發(fā)技術(shù)。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入腳本片段和JSP標(biāo)記(Tag),構(gòu)成JSP網(wǎng)頁(yè)(*.jsp)。JSP技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的web頁(yè)面提供了簡(jiǎn)便的方法。JSP作為Java家族的一員,承襲了Java的特點(diǎn),即跨平臺(tái)的特性,也即一次編譯,到處運(yùn)行。
二、JSP工作原理
JSP是面向服務(wù)器的,因此支持任何瀏覽器。當(dāng)Web服務(wù)器和JSP引擎遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),JSP引擎將請(qǐng)求對(duì)象發(fā)送給服務(wù)器端的相關(guān)組件,比如JavaBean組件、Servlet或EJB等,然后由服務(wù)器端組件處理這些請(qǐng)示,可能需要從數(shù)據(jù)庫(kù)或數(shù)據(jù)存儲(chǔ)中檢索信息,然后服務(wù)器端組件再將響應(yīng)對(duì)象返回JSP引擎。JSP引擎將響應(yīng)對(duì)象傳遞給JSP頁(yè)面,根據(jù)JSP頁(yè)面的HTML格式完成數(shù)據(jù)編排,最后Web服務(wù)器和JSP引擎將格式化后的JSP頁(yè)面以HTML格式返回客戶瀏覽器。這就是當(dāng)前網(wǎng)站構(gòu)建中廣泛采用的瀏覽器——Web服務(wù)器——后臺(tái)數(shù)據(jù)庫(kù)的三層架構(gòu)模式。因?yàn)镴SP所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。
三、JSP體系結(jié)構(gòu)
JSP網(wǎng)站開(kāi)發(fā)標(biāo)準(zhǔn)給出了兩種使用JSP的技術(shù),可以歸納為模式一、模式二。
模式一:JSP+JavaBeans技術(shù) 在這種模式中,JSP頁(yè)面獨(dú)自響應(yīng)請(qǐng)求并將處理結(jié)果返回給客戶。Bean處理所有數(shù)據(jù)訪問(wèn),JSP實(shí)現(xiàn)頁(yè)面的表現(xiàn),以實(shí)現(xiàn)內(nèi)容生成與顯示相分離。當(dāng)處理復(fù)雜的大型應(yīng)用時(shí),頁(yè)面被嵌入大量的腳本或Java代碼段,當(dāng)需要處理的商業(yè)邏輯復(fù)雜時(shí),這種情況會(huì)變得非常糟糕,大量的內(nèi)嵌代碼使得頁(yè)面程序變得復(fù)雜,對(duì)于前端界面設(shè)計(jì)人員,這是不可思議的事情。所以模式一可用于小型應(yīng)用,不能夠滿足大型應(yīng)用的需要。
模式二:JSP+Servlet+JavaBeans技術(shù) Servlet技術(shù)是一種采用Java技術(shù)來(lái)實(shí)現(xiàn)CGI功能的一種技術(shù),Servlet技術(shù)非常適于服務(wù)器端的處理和編程,并且Servlet會(huì)長(zhǎng)期駐留在內(nèi)存。
從開(kāi)發(fā)的觀點(diǎn)看,模式二具有更清晰的頁(yè)面表現(xiàn),清楚的開(kāi)發(fā)者角色劃分,在大規(guī)模項(xiàng)目開(kāi)發(fā)中,模式二更被采用,模式二也更符合當(dāng)前流行的MVC結(jié)構(gòu)(Model/view/ controller),其中Servlet對(duì)應(yīng)controller,處于控制者的位置,處理HTTP請(qǐng)求,負(fù)責(zé)生成JSP中使用的Beans組件或?qū)ο?,并判斷?yīng)將請(qǐng)求傳遞給哪個(gè)JSP等,JSP對(duì)應(yīng)view,負(fù)責(zé)生成最終的動(dòng)態(tài)網(wǎng)頁(yè)并返回給瀏覽器。而JavaBeans對(duì)應(yīng)的是Model,實(shí)現(xiàn)各個(gè)具體的應(yīng)用邏輯與功能。
四、JSP的特點(diǎn)
(一)簡(jiǎn)化的頁(yè)面生成技術(shù)
JSP頁(yè)面用標(biāo)準(zhǔn)的HTML或XML命令來(lái)處理頁(yè)面的格式化和布局設(shè)計(jì),而用類(lèi)似HTML、XML的標(biāo)記和Java語(yǔ)言編寫(xiě)的腳本程序生成頁(yè)面內(nèi)容。這使得頁(yè)面形式與頁(yè)面內(nèi)容互相獨(dú)立,非常有利于大型項(xiàng)目的分工合作。
(二)與Java平臺(tái)有機(jī)集成
JSP技術(shù)是Java 2平臺(tái)的重要組成部分,JSP使用Java語(yǔ)言作為它的腳本語(yǔ)言。在JSP頁(yè)面中可以使用幾乎所有的Java組件和Java API,這就能充分發(fā)揮出Java語(yǔ)言的強(qiáng)大功能。使用JSP技術(shù)可以創(chuàng)建具有高度可伸縮性和可靠性的Web應(yīng)用程序。
(三)硬件平臺(tái)和服務(wù)器無(wú)關(guān)性
JSP作為Java家族的一員,秉承了Java技術(shù)的“一次編寫(xiě),隨處可用(Write Once,Rum Anywhere)”的特性,可以運(yùn)行于大多數(shù)流行的操作系統(tǒng)平臺(tái)及Web服務(wù)器,這種與服務(wù)器硬件和操作系統(tǒng)平臺(tái)的無(wú)關(guān)性是JSP相對(duì)于其它動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)最大的一個(gè)優(yōu)點(diǎn)。
(四)功能可擴(kuò)展性
如同Microsoft的JSP技術(shù)可以通過(guò)ActiveX/COM組件來(lái)擴(kuò)展功能一樣,JSP可以通過(guò)JavaBean和EJB(Enterprise JavaBean)以及自定義的標(biāo)記來(lái)擴(kuò)展功能。JSP可以通過(guò)JDBC,與諸如Oracle這樣的大型關(guān)系數(shù)據(jù)庫(kù)進(jìn)行連接。JSP提供了一些隱含對(duì)象。這些隱含對(duì)象在JSP頁(yè)面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱含對(duì)象,可以使腳本功能更加強(qiáng)大,并且編程更加容易、方便。例如,利用request對(duì)象,可以很容易地接收用戶在HTML表單中提交的信息。
五、技術(shù)分析
(一)JSP的效率和安全性更高
ASP以源碼形式存放,以解釋方式運(yùn)行,每次ASP網(wǎng)頁(yè)調(diào)用都需要對(duì)源碼進(jìn)行解釋?zhuān)\(yùn)行效率不高。另外,IIS的漏洞曾使得許多網(wǎng)站源程序大曝光,包括以前用ASP開(kāi)發(fā)的網(wǎng)站,ASP程序全部被人下載了去。JSP在執(zhí)行以前先被編譯成字節(jié)碼 (byte code),字節(jié)碼由Java虛擬機(jī)(Java Virtual Machine)解釋執(zhí)行,比源碼解釋的效率高;服務(wù)器上還有字節(jié)碼的Cache機(jī)制,能提高字節(jié)碼的訪問(wèn)效率。
(二)JSP的組件 (Component) 方式更方便
JSP通過(guò)JavaBean實(shí)現(xiàn)了同樣的功能擴(kuò)充。在開(kāi)發(fā)方面,COM的開(kāi)發(fā)遠(yuǎn)比JavaBean復(fù)雜和繁瑣,學(xué)會(huì)ASP不難,但學(xué)會(huì)開(kāi)發(fā)COM可不簡(jiǎn)單。在維護(hù)方面,COM必須在服務(wù)器上注冊(cè),如果修改了COM程序,就必須重新注冊(cè),甚至必須關(guān)機(jī)和重新啟動(dòng)。JavaBean則不需要注冊(cè),放在CLASSPATH包含的目錄中就行了。如果JavaBean進(jìn)行了修改,則JSWDK和Tomcat現(xiàn)在還需要關(guān)閉和重新運(yùn)行(但不是關(guān)機(jī)),但開(kāi)發(fā)者已經(jīng)許諾將在以后的版本中做到不需要關(guān)閉服務(wù)器。
(三)JSP的適應(yīng)平臺(tái)更廣
ASP目前僅適用于NT和IIS。雖然Unix下有ChiliSoft的插件來(lái)支持ASP,但是ASP本身的功能有限,必須通過(guò)ASP+COM的組合來(lái)擴(kuò)充,Unix下的COM實(shí)現(xiàn)起來(lái)非常困難。
淺談JSP網(wǎng)頁(yè)制作技術(shù)篇二
摘 要:隨著網(wǎng)絡(luò)的不斷快速發(fā)展,基于JSP的動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)也相應(yīng)的廣泛使用。由于JSP的諸多優(yōu)點(diǎn),網(wǎng)站開(kāi)發(fā)人員在選擇上要遠(yuǎn)遠(yuǎn)多于ASP和PHP。本文通過(guò)對(duì)JSP的概述和優(yōu)點(diǎn)分析,來(lái)說(shuō)明JSP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)的特性。
關(guān)鍵詞:JSP;網(wǎng)頁(yè)制作;網(wǎng)站開(kāi)發(fā)
一、JSP簡(jiǎn)介
JSP是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)簽,就構(gòu)成了JSP網(wǎng)頁(yè)java程序片段可以操縱數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送E-mail等,實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對(duì)客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問(wèn)JSP網(wǎng)頁(yè)。
JSP全名為java server page,其根本是一個(gè)簡(jiǎn)化的Servlet設(shè)計(jì),他實(shí)現(xiàn)了Html語(yǔ)法中的java擴(kuò)張(以 <% %>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。
JSP技術(shù)使用Java編程語(yǔ)言編寫(xiě)類(lèi)XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)的顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。 JSP(JavaServer Pages)是一種動(dòng)態(tài)頁(yè)面技術(shù),它的主要目的是將表示邏輯從Servlet中分離出來(lái)。
JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。Java Servlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。
自JSP推出后,眾多大公司都支持JSP技術(shù)的服務(wù)器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業(yè)應(yīng)用的服務(wù)器端語(yǔ)言。
二、JSP的優(yōu)勢(shì)與弱勢(shì)
1.優(yōu)勢(shì)
(1)一次編寫(xiě),到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。
(2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP的局限性JSP的優(yōu)勢(shì)是顯而易見(jiàn)的。
(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。
(4)多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。
(5)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來(lái)支持,開(kāi)發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁(yè)面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來(lái)實(shí)現(xiàn)復(fù)雜商務(wù)功能。
2.弱勢(shì)
(1)與ASP也一樣,Java的一些優(yōu)勢(shì)正是它致命的問(wèn)題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。
(2)Java的運(yùn)行速度是用class常駐內(nèi)存來(lái)完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來(lái)說(shuō)確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤(pán)空間來(lái)儲(chǔ)存一系列的.java文件和.class文件,以及對(duì)應(yīng)的版本文件。
三、JSP對(duì)Web數(shù)據(jù)庫(kù)的訪問(wèn)
JSP 訪問(wèn)Web數(shù)據(jù)庫(kù)有兩種主流技術(shù),分別是JDBC(JavaBean) 技術(shù)和連接池技術(shù)。
1.JDBC(JavaBean)技術(shù)
JSP 借助Java語(yǔ)言的數(shù)據(jù)庫(kù)連接技術(shù)JDBC (Java Database Connectivity),即通過(guò)JDBC 驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)相聯(lián),執(zhí)行查詢、修改、增加、刪除等操作。JDBC作為一種數(shù)據(jù)庫(kù)訪問(wèn)技術(shù),具有使用簡(jiǎn)單、可移植性強(qiáng)、易于編寫(xiě)和維護(hù)等優(yōu)點(diǎn),可高效地實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接。
利用JDBC-ODBC 轉(zhuǎn)換,Java程序就可以訪問(wèn)帶有ODBC 驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù),從而方便地實(shí)現(xiàn)數(shù)據(jù)庫(kù)的跨平臺(tái)訪問(wèn)。目前,大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都帶有ODBC 驅(qū)動(dòng)程序,所以JSP 能訪問(wèn)Oracle,Sybase,Microsoft SQL Server,MySQL和MS Access 等各種數(shù)據(jù)庫(kù)。
JavaBean 技術(shù)是一種可重復(fù)使用且跨平臺(tái)的軟件組件,它為軟件開(kāi)發(fā)者提供了一種極佳的解決方案,使他們可以利用JavaBean 技術(shù)封裝事務(wù)邏輯,很好地實(shí)現(xiàn)業(yè)務(wù)邏輯和客戶端操作的分離,使系統(tǒng)具有更好的靈活性和適用性。其工作原理是將數(shù)據(jù)庫(kù)的基本操作邏輯封裝在JavaBean 包中,通過(guò)JSP 調(diào)用JavaBean 來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接。首先將用Java 編寫(xiě)的數(shù)據(jù)庫(kù)連接和對(duì)數(shù)據(jù)庫(kù)的基本操作的程序編譯,生成*. class文件,然后就可以通過(guò)JSP 調(diào)用Java Bean 來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的操作。使用JavaBean 提高了代碼的重用程度,簡(jiǎn)化了程序設(shè)計(jì)的復(fù)雜度。