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