時(shí)間:2022-12-26 08:30:01 | 來(lái)源:信息時(shí)代
時(shí)間:2022-12-26 08:30:01 來(lái)源:信息時(shí)代
Java服務(wù)器頁(yè)面 : 由Sun Microsystems公司倡導(dǎo)、許多公司參與共同建立的一種基于Web的應(yīng)用程序的開(kāi)發(fā)方法。JSP采用的腳本語(yǔ)言是Sun公司的Java語(yǔ)言,它整合并平衡了已有的對(duì)Java編程環(huán)境進(jìn)行支持的技術(shù)和工具,使基于組件應(yīng)用邏輯的頁(yè)面設(shè)計(jì)的功能更加強(qiáng)大。
JSP技術(shù)的設(shè)計(jì)目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器、應(yīng)用服務(wù)器、瀏覽器和開(kāi)發(fā)工具共同工作。JSP規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)以及開(kāi)發(fā)工具供應(yīng)商間廣泛合作的結(jié)果。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.html)中加入Java程序片段和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(yè)(*.jsp)。Web服務(wù)器在遇到訪(fǎng)問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶(hù)。程序片段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送E-mail等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。
所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶(hù)端的僅是得到的結(jié)果,對(duì)客戶(hù)瀏覽器的要求最低,可以實(shí)現(xiàn)無(wú)插件(plugin)、無(wú)活動(dòng)對(duì)象(ActiveX)、無(wú)Java小應(yīng)用程序(Java Applet),甚至無(wú)框架(Frames),JSP技術(shù)在多個(gè)方面加速了動(dòng)態(tài)Web頁(yè)面的開(kāi)發(fā)。
1. JSP的特點(diǎn)
(1)將內(nèi)容的生成和顯示進(jìn)行分離。利用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML來(lái)設(shè)計(jì)和格式化最終頁(yè)面。使用Java或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,其他人(如Web管理人員和頁(yè)面設(shè)計(jì)者)能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。在服務(wù)器端JSP引擎解釋JSP標(biāo)識(shí)和小腳本,生成所請(qǐng)求的內(nèi)容(例如,通過(guò)訪(fǎng)問(wèn)JavaBeans組件,使用JDBC技術(shù)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)),并且將結(jié)果以HTML(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。
(2)生成可重用的組件。絕大多數(shù)JSP頁(yè)面依賴(lài)于可重用的、跨平臺(tái)的組件來(lái)執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者客戶(hù)團(tuán)體所使用。基于組件的方法加速了總體開(kāi)發(fā)過(guò)程。
(3)采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā)。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪(fǎng)問(wèn)和實(shí)例化JavaBeans組件、設(shè)置或者檢索組件屬性、下載Applet,以及執(zhí)行用其他方法更難于編碼或耗時(shí)的功能。通過(guò)開(kāi)發(fā)定制標(biāo)識(shí)庫(kù),JSP技術(shù)是可以擴(kuò)展的。今后,第三方開(kāi)發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫(kù)。這使得Web開(kāi)發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣地執(zhí)行特定功能的構(gòu)件來(lái)工作。
(4) JSP能提供所有Servlet功能。JSP能提供所有的Servlet功能,它比用println書(shū)寫(xiě)和修改HTML更方便。此外,用戶(hù)可以更明確地進(jìn)行分工。例如,讓W(xué)eb頁(yè)面設(shè)計(jì)人員編寫(xiě)HTML,然后,留出空間讓Servlet程序員插入動(dòng)態(tài)部分。
(5)健壯的存儲(chǔ)管理和安全性。由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java編程語(yǔ)言的,而且所有的JSP頁(yè)面都被編譯成為Java class,所以JSP頁(yè)面就具有了Java語(yǔ)言的所有優(yōu)點(diǎn),包括健壯的存儲(chǔ)管理和安全性。
(6)一次編寫(xiě),隨處運(yùn)行。作為Java平臺(tái)的一部分,JSP擁有Java編程語(yǔ)言“一次編寫(xiě),隨處運(yùn)行”的特點(diǎn)。隨著越來(lái)越多的供應(yīng)商將對(duì)JSP的支持添加到其產(chǎn)品中,可以使用自己所選擇的服務(wù)器和工具,但并不影響當(dāng)前的應(yīng)用。
(7) JSP的平臺(tái)適應(yīng)性更廣。幾乎所有平臺(tái)都支持Java、JSP+JavaBeans,它們可以在任何平臺(tái)下通行無(wú)阻。從一個(gè)平臺(tái)移植到另一個(gè)平臺(tái),JSP和JavaBeans甚至不用重新編譯。
2. JSP的運(yùn)行模式
JSP程序由JSP執(zhí)行引擎執(zhí)行,而JSP執(zhí)行引擎與HTTP服務(wù)器一起常駐內(nèi)存,而且每一時(shí)刻只有一個(gè)JSP執(zhí)行引擎在內(nèi)存,執(zhí)行多個(gè)JSP程序。在第一次運(yùn)行JSP程序時(shí),JSP被編譯為Java Servlet Class字節(jié)碼,由Java虛擬機(jī)對(duì)這種字節(jié)碼進(jìn)行解釋執(zhí)行,同時(shí)編譯后的Servlet字節(jié)碼常駐于服務(wù)器的Cache中,使得后續(xù)的相同請(qǐng)求執(zhí)行速度非常快,因?yàn)榉?wù)器已經(jīng)緩存了運(yùn)行的Servlet。JSP的執(zhí)行過(guò)程如圖1所示。
圖1 JSP的執(zhí)行過(guò)程
圖2 MVC設(shè)計(jì)模式
關(guān)鍵詞:數(shù)據(jù),服務(wù)
客戶(hù)&案例
營(yíng)銷(xiāo)資訊
關(guān)于我們
客戶(hù)&案例
營(yíng)銷(xiāo)資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。