国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 信息時(shí)代 > Java服務(wù)器頁(yè)面(數(shù)據(jù)庫(kù))

Java服務(wù)器頁(yè)面(數(shù)據(jù)庫(kù))

時(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ò)程


與ASP相比,ASP的編程語(yǔ)言是VBScript之類(lèi)的腳本語(yǔ)言,JSP使用的是Java,在頁(yè)面中都需要附加的語(yǔ)言引擎來(lái)分析和執(zhí)行程序代碼。但是,它們之間存在本質(zhì)的區(qū)別,因?yàn)檫@兩種語(yǔ)言引擎是用完全不同的方式處理頁(yè)面中嵌入的程序代碼。在ASP下,VBScript代碼被ASP引擎解釋執(zhí)行;而在JSP下,代碼被編譯成Servlet,并由Java虛擬機(jī)執(zhí)行,這種編譯操作僅在對(duì)JSP頁(yè)面的第一次請(qǐng)求時(shí)發(fā)生。
如果瀏覽器請(qǐng)求的是普通的HTML頁(yè)面,則由Web服務(wù)器將這些普通的HTML頁(yè)面?zhèn)鹘o瀏覽器,由瀏覽器對(duì)HTML代碼進(jìn)行解釋,轉(zhuǎn)化為頁(yè)面。如果瀏覽器請(qǐng)求的是JSP動(dòng)態(tài)內(nèi)容,則由Web服務(wù)器將這個(gè)請(qǐng)求傳到JSP和Servlet執(zhí)行引擎,或者直接通過(guò)數(shù)據(jù)庫(kù)服務(wù)器訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)(兩層結(jié)構(gòu)),或者通過(guò)JavaBean(Java組件)來(lái)連接數(shù)據(jù)庫(kù)服務(wù)器,訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)(三層結(jié)構(gòu)),并將處理結(jié)果通過(guò)JSP和Servlet執(zhí)行引擎發(fā)送回Web服務(wù)器,以HTML代碼的形式傳回到瀏覽器進(jìn)行顯示。
3. 常用的JSP的開(kāi)發(fā)方式
JSP既可以用于開(kāi)發(fā)小型的Web站點(diǎn)、也可以用于開(kāi)發(fā)大型的、企業(yè)級(jí)的應(yīng)用程序。根據(jù)Web網(wǎng)站的規(guī)模,可以采用不同的JSP開(kāi)發(fā)方式。
(1)直接使用JSP: 對(duì)于最小型的Web站點(diǎn),可以直接使用JSP來(lái)構(gòu)建動(dòng)態(tài)網(wǎng)頁(yè),這種站點(diǎn)最為簡(jiǎn)單,所需要的僅僅是簡(jiǎn)單的留言板、動(dòng)態(tài)日期等基本的功能。對(duì)于這種開(kāi)發(fā)模式,一般可以將所有的動(dòng)態(tài)處理部分全部放置在JSP的腳本中,就像一般使用PHP或ASP開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)一樣。
(2) JSP+JavaBeans: 中型站點(diǎn)面對(duì)的是數(shù)據(jù)庫(kù)查詢(xún)、用戶(hù)管理和少量的商業(yè)業(yè)務(wù)邏輯。對(duì)于這種站點(diǎn),不能將所有的功能全部交給JSP頁(yè)面來(lái)處理。在單純的JSP中加入JavaBeans技術(shù)將有助于這種中型網(wǎng)絡(luò)的開(kāi)發(fā)。利用JavaBeans,將很容易完成數(shù)據(jù)庫(kù)連接、用戶(hù)登錄與注銷(xiāo)、商業(yè)業(yè)務(wù)邏輯封裝的任務(wù)。如將常用的數(shù)據(jù)庫(kù)連接寫(xiě)成一個(gè)JavaBean,既方便了使用,又可以使JSP文件簡(jiǎn)單而清晰,通過(guò)封裝,還可以防止一般的開(kāi)發(fā)人員直接獲得數(shù)據(jù)庫(kù)的控制權(quán)。
(3) JSP+JavaBeans+Servlet: 無(wú)論用ASP還是PHP開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站,有一個(gè)比較重要的問(wèn)題是網(wǎng)站的邏輯關(guān)系和網(wǎng)站的顯示頁(yè)面不容易分開(kāi)。常??梢钥吹揭恍A雜著if-then....,case select或是if(...)和大量顯示用的HTML代碼的ASP、PHP頁(yè)面,此外,將網(wǎng)站美工設(shè)計(jì)的靜態(tài)頁(yè)面和動(dòng)態(tài)程序合并的過(guò)程是有一定的難度的。在邏輯關(guān)系異常復(fù)雜的網(wǎng)站中,借助于Servlet和JSP良好的交互關(guān)系和JavaBeans的協(xié)助,完全可以將網(wǎng)站的整個(gè)邏輯結(jié)構(gòu)放在Servlet中,而將動(dòng)態(tài)網(wǎng)頁(yè)的輸出放在JSP頁(yè)面中來(lái)完成。在這種開(kāi)發(fā)方式中,一個(gè)網(wǎng)站可以有一個(gè)或幾個(gè)核心的Servlet來(lái)處理網(wǎng)站的邏輯,通過(guò)調(diào)用JSP頁(yè)面(包含JavaBeans技術(shù),通常用來(lái)進(jìn)行數(shù)據(jù)庫(kù)連接)來(lái)完成客戶(hù)端(通常是Web瀏覽器)的請(qǐng)求。
(4) MVC設(shè)計(jì)模式: MVC是model-viewcontroller的簡(jiǎn)稱(chēng),它是一種設(shè)計(jì)模式,最近幾年被推薦為SUN公司J2EE平臺(tái)的設(shè)計(jì)模式。它強(qiáng)制性地把應(yīng)用程序的輸入、處理和輸出分開(kāi)。MVC把應(yīng)用程序分成3個(gè)核心模塊: 模型、視圖和控制器,它們分別擔(dān)負(fù)不同的任務(wù)。圖2顯示了其模塊各自的功能以及它們的相互關(guān)系。


圖2 MVC設(shè)計(jì)模式


視圖(view): 視圖就是用戶(hù)界面部分,它為用戶(hù)提供了輸入輸出手段,在Web應(yīng)用程序中也就是HTML、XML、JSP頁(yè)面。這個(gè)部分主要處理用戶(hù)看到的東西,動(dòng)態(tài)的JSP部分處理了用戶(hù)可以看見(jiàn)的動(dòng)態(tài)網(wǎng)頁(yè),而靜態(tài)的網(wǎng)頁(yè)則由HTML、XML輸出。
控制器(controller): 控制器負(fù)責(zé)網(wǎng)站的整個(gè)邏輯。它用于管理用戶(hù)與視圖發(fā)生的交互。可以將控制器想像成處在視圖和數(shù)據(jù)之間,對(duì)視圖如何與模型交互進(jìn)行管理。通過(guò)控制器使視圖完全獨(dú)立于控制器和模型,就可以輕松替換前端客戶(hù)程序。即,網(wǎng)頁(yè)制作人員將可以獨(dú)立自由地改變Web頁(yè)面而不用擔(dān)心影響這個(gè)基于Web的應(yīng)用程序的功能。
模型(model): 模型就是應(yīng)用業(yè)務(wù)邏輯部分,是對(duì)企業(yè)業(yè)務(wù)流程中的對(duì)象進(jìn)行抽象,封裝了對(duì)象的屬性和對(duì)象隱含的業(yè)務(wù)邏輯,即真正完成任務(wù)的代碼。JavaBeans就是模型的代表。
在這種設(shè)計(jì)模式下,模型同界面相分離,代碼即可實(shí)現(xiàn)可管理性和可重用性?!翱刂破鳌笨刂浦P秃鸵晥D之間的交互過(guò)程。它決定著向用戶(hù)返回怎樣的視圖、檢查通過(guò)界面輸入的信息以及選擇處理輸入信息的模型。因此,MVC的處理過(guò)程為:首先控制器接收用戶(hù)的請(qǐng)求,并決定應(yīng)該調(diào)用哪個(gè)模型來(lái)進(jìn)行處理; 然后模型根據(jù)用戶(hù)請(qǐng)求進(jìn)行相應(yīng)的業(yè)務(wù)邏輯處理,并返回?cái)?shù)據(jù); 最后控制器調(diào)用相應(yīng)的視圖來(lái)格式化模型返回的數(shù)據(jù),并通過(guò)視圖呈現(xiàn)給用戶(hù)。

關(guān)鍵詞:數(shù)據(jù),服務(wù)

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉