佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 基于JSP的動態(tài)網(wǎng)站開發(fā)技術(shù)

基于JSP的動態(tài)網(wǎng)站開發(fā)技術(shù)

熱門標(biāo)簽:網(wǎng)站文章發(fā)布 銀行業(yè)務(wù) 美圖手機 服務(wù)器配置 呼叫中心市場需求 檢查注冊表項 鐵路電話系統(tǒng) 智能手機
隨著Web技術(shù)的發(fā)展和電子商務(wù)時代的到來,人們不再滿足于建立各種靜態(tài)地發(fā)布信息的網(wǎng)站,更多的時候需要能與用戶進行交互,并能提供后臺數(shù)據(jù)庫的管理和控制等服務(wù)的動態(tài)網(wǎng)站。
動態(tài)網(wǎng)站開發(fā)技術(shù)
早期的動態(tài)網(wǎng)站開發(fā)技術(shù)使用的是CGI-BIN接口。開發(fā)人員編寫與接口相關(guān)的單獨的程序和基于Web的應(yīng)用程序,后者通過Web服務(wù)器來調(diào)用前者。這種開發(fā)技術(shù)存在著嚴重的擴展性問題——每一個新的CGI程序要求在服務(wù)器上新增一個進程。如果多個用戶并發(fā)地訪問該程序,這些進程將耗盡該Web服務(wù)器所有的可用資源,直至其崩潰。
為克服這一弊端,微軟公司提出了Active Server Pages(ASP)技術(shù),該技術(shù)利用“插件”和API簡化了Web應(yīng)用程序的開發(fā)。ASP與CGI相比,其優(yōu)點是可以包含HTML標(biāo)簽,可以直接存取數(shù)據(jù)庫及使用無限擴充的ActiveX控件,因此在程序編制上更富有靈活性。但該技術(shù)基本上是局限于微軟的操作系統(tǒng)平臺之上,主要工作環(huán)境是微軟的IIS應(yīng)用程序結(jié)構(gòu),所以ASP技術(shù)不能很容易地實現(xiàn)跨平臺的Web服務(wù)器程序開發(fā)。
Hypertext Preprocessor(超文本預(yù)處理器),即PHP動態(tài)網(wǎng)站開發(fā)技術(shù)與ASP相似,也是一種嵌入HTML文檔的服務(wù)器端腳本語言。其語法大部分與C、Java、Perl等語言相似,并形成了自己的獨有風(fēng)格,利用該語言Web程序員可以快速地開發(fā)出動態(tài)網(wǎng)頁。PHP在大多數(shù)Unix平臺、GUN/Linux和微軟Windows平臺上均可以運行。PHP的優(yōu)點主要有:安裝方便,學(xué)習(xí)過程簡單;數(shù)據(jù)庫連接方便,兼容性強;擴展性強;可以進行面向?qū)ο缶幊痰取5玃HP也存在一些弱點,主要是PHP是一種解釋型語言,不支持多線程結(jié)構(gòu),支持平臺和連接的數(shù)據(jù)庫都有限,特別是在支持的標(biāo)準(zhǔn)方面存在先天不足,對于某些電子商務(wù)應(yīng)用來說,PHP是不適合的。
還有一些技術(shù),如Java Servlets技術(shù),利用該技術(shù)可以很容易地用Java語言編寫交互式的服務(wù)器端代碼。一個Java Servlets就是一個基于Java技術(shù)的運行在服務(wù)器端的程序(與Applet不同,后者運行在瀏覽器端)。開發(fā)人員編寫這樣的Java Servlets,以接收來自Web瀏覽器的HTTP請求,動態(tài)地生成響應(yīng)(可能需要查詢數(shù)據(jù)庫來完成這種請求),然后發(fā)送包含HTML或XML文檔的響應(yīng)到瀏覽器。這種技術(shù)對于普通的頁面設(shè)計者來說要輕易地掌握是很困難的。采用這種方法,整個網(wǎng)頁必須都在Java Servlets中制作。如果開發(fā)人員或者Web管理人員想要調(diào)整頁面顯示,就不得不編輯并重新編譯該Java Servlets。
太陽微系統(tǒng)公司(Sun Microsystems Inc.)在Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)以及開發(fā)工具供應(yīng)商間廣泛支持與合作下,整合并平衡了已經(jīng)存在的對Java編程環(huán)境(例如Java Servlets和JavaBeans)進行支持的技術(shù)和工具后產(chǎn)生了一種新的、開發(fā)基于Web應(yīng)用程序的方法——JavaServer Pages技術(shù)(JSP)。這種動態(tài)網(wǎng)站開發(fā)技術(shù)主要有以下一些特點:
能夠在任何Web或應(yīng)用程序服務(wù)器上運行;  
分離了應(yīng)用程序的邏輯和頁面顯示;
能夠進行快速的開發(fā)和測試;
簡化了開發(fā)基于Web的交互式應(yīng)用程序的過程。
JSP的技術(shù)方法  
為了快速方便地進行動態(tài)網(wǎng)站的開發(fā),JSP在以下幾個方面做了改進,使其成為快速建立跨平臺的動態(tài)網(wǎng)站的首選方案。
1.將內(nèi)容的生成和顯示進行分離
用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計和格式化最終頁面,并使用JSP標(biāo)識或者小腳本來生成頁面上的動態(tài)內(nèi)容(內(nèi)容是根據(jù)請求變化的,例如請求賬戶信息或者特定的一瓶酒的價格等)。生成內(nèi)容的邏輯被封裝在標(biāo)識和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務(wù)器端運行。由于核心邏輯被封裝在標(biāo)識和JavaBeans中,所以Web管理人員和頁面設(shè)計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。
在服務(wù)器端,JSP引擎解釋JSP標(biāo)識和腳本,生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫或者包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這既有助于作者保護自己的代碼,又能保證任何基于HTML的Web瀏覽器的完全可用性。
2.可重用組件
絕大多數(shù)JSP頁面依賴于可重用的、跨平臺的組件(JavaBeans或者Enterprise JavaBeans組件)來執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶團體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。
3.采用標(biāo)識
Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識中進行動態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識能夠訪問和實例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。
4.適應(yīng)平臺
幾乎所有平臺都支持Java,JSP+JavaBeans幾乎可以在所有平臺下通行無阻。從一個平臺移植到另外一個平臺,JSP和JavaBeans甚至不用重新編譯,因為Java字節(jié)碼都是標(biāo)準(zhǔn)的與平臺無關(guān)的。
5.數(shù)據(jù)庫連接
Java中連接數(shù)據(jù)庫的技術(shù)是JDBC,Java程序通過JDBC驅(qū)動程序與數(shù)據(jù)庫相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun公司還開發(fā)了JDBC-ODBC bridge,利用此技術(shù)Java程序可以訪問帶有ODBC驅(qū)動程序的數(shù)據(jù)庫,目前大多數(shù)數(shù)據(jù)庫系統(tǒng)都帶有ODBC驅(qū)動程序,所以Java程序能訪問諸如Oracle、Sybase、MS SQL Server和MS Access等數(shù)據(jù)庫。
此外,通過開發(fā)標(biāo)識庫,JSP技術(shù)可以進一步擴展。第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識一樣的執(zhí)行特定功能的構(gòu)件來進行工作。
JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且能擴展到支持企業(yè)級的分布式應(yīng)用中。作為采用Java技術(shù)家族的一部分,以及Java 2(企業(yè)版體系結(jié)構(gòu))的一個組成部分,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。
由于JSP頁面的內(nèi)置腳本語言是基于Java的,而且所有的JSP頁面都被編譯成為Java Servlets,所以JSP頁面具有Java技術(shù)的所有好處,包括健壯的存儲管理和安全性。作為Java平臺的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。
JSP的應(yīng)用模型  
利用JSP技術(shù),動態(tài)信息由JSP頁面來表現(xiàn),JSP頁面由安裝在Web服務(wù)器或者使用JSP的應(yīng)用服務(wù)器上的JSP引擎執(zhí)行。JSP引擎接受客戶端對JSP頁面的請求,并且生成JSP頁面作為對客戶端的響應(yīng)。  
JSP頁面通常被編譯成為Java Servlets,這是一個標(biāo)準(zhǔn)的Java擴展。頁面開發(fā)人員能夠訪問全部的Java應(yīng)用環(huán)境,以利用Java技術(shù)的擴展性和可移植性。當(dāng)JSP頁面第一次被調(diào)用時,如果它還不存在,就會被編譯成為一個Java Servlets類,并且存儲在服務(wù)器的內(nèi)存中。這就使得在接下來的對該頁面的調(diào)用中,服務(wù)器會有非常快的響應(yīng)(這避免了CGI-BIN為每個HTTP請求生成一個新的進程的問題)。  
JSP頁面可以包含在多種不同的應(yīng)用體系結(jié)構(gòu)或者模型中,可以用于由不同協(xié)議、組件和格式所組成的聯(lián)合體中?;贘SP的動態(tài)信息發(fā)布技術(shù)是一個開放的、可擴展的建立動態(tài)Web頁面的標(biāo)準(zhǔn)。不論采用什么創(chuàng)建工具,開發(fā)人員都可以使用JSP頁面來創(chuàng)建可移植的Web應(yīng)用,在不同的Web應(yīng)用服務(wù)器上運行。

標(biāo)簽:滄州 樂山 新疆 上海 長治 沈陽 紅河 河南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于JSP的動態(tài)網(wǎng)站開發(fā)技術(shù)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    电白县| 大安市| 濉溪县| 侯马市| 莱阳市| 镇平县| 荥经县| 丹棱县| 长沙市| 姜堰市| 高雄市| 若尔盖县| 胶州市| 朝阳市| 沂源县| 孟连| 拜泉县| 额敏县| 尉氏县| 晋宁县| 商城县| 奎屯市| 泰州市| 建宁县| 永州市| 陈巴尔虎旗| 手机| 汽车| 安徽省| 诸城市| 溧阳市| 封开县| 抚顺市| 大石桥市| 额济纳旗| 教育| 津南区| 仁布县| 凤山县| 隆尧县| 横山县|