[精品論文]JSP技術(shù)論文.JSP技術(shù)在電子商務(wù)的應(yīng)用_第1頁
[精品論文]JSP技術(shù)論文.JSP技術(shù)在電子商務(wù)的應(yīng)用_第2頁
[精品論文]JSP技術(shù)論文.JSP技術(shù)在電子商務(wù)的應(yīng)用_第3頁
[精品論文]JSP技術(shù)論文.JSP技術(shù)在電子商務(wù)的應(yīng)用_第4頁
[精品論文]JSP技術(shù)論文.JSP技術(shù)在電子商務(wù)的應(yīng)用_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)課程定做 QQ1714879127JSP技術(shù)及在電子商務(wù)的應(yīng)用【摘要】隨著經(jīng)濟(jì)發(fā)展和生活節(jié)奏的加快,人們的消費(fèi)觀念也在不斷變化,商家的營梢策略也應(yīng)隨之改 變.使得商品的梢售方式變得多樣化。而電子商務(wù)作為一種新的商品營銷手段,也越來越被消費(fèi)者所認(rèn)同。本 文首先說明系統(tǒng)中應(yīng)用的JSP , Tomcat等各項(xiàng)技術(shù),然后介紹了其在電子商務(wù)系統(tǒng)中的應(yīng)用?!娟P(guān)艘詞I JSP電子商務(wù)數(shù)據(jù)庫隨著中國市場(chǎng)經(jīng)濟(jì)的日趨成熟,中國企業(yè)面對(duì)的競(jìng)爭(zhēng)壓力也越能是和Web服務(wù)器建立一次HTTP會(huì)話。客戶端通過瀏覽器向服務(wù)來越大,企業(yè)要想生存,就必須充分利用信息化手段來提高管理效器發(fā)送它的請(qǐng)求,Web服務(wù)器(Tomcat內(nèi)置的服務(wù)器)識(shí)別出瀏覽器請(qǐng)率及市場(chǎng)響應(yīng)速度。電子商務(wù)是在互聯(lián)網(wǎng)開放的網(wǎng)絡(luò)環(huán)境下,基于求URL中的.jsp擴(kuò)展文件名,就會(huì)自動(dòng)調(diào)用JSP引擎(Tomcat)進(jìn)行處瀏覽器/服務(wù)器應(yīng)用方式,實(shí)現(xiàn)消費(fèi)者的網(wǎng)上購物、商戶之間的網(wǎng)上理。Web服務(wù)器處理完用戶請(qǐng)求后,把結(jié)果解釋成瀏覽器識(shí)別的交易和在線電子支付的一種新型的商業(yè)運(yùn)營模式。電子商務(wù)做為一HTML語言,傳送給客戶端。種獨(dú)立的經(jīng)濟(jì)形態(tài),已初具規(guī)模,一些電子商務(wù)網(wǎng)站的成立,給人們的生活帶來了巨大的影響。數(shù)據(jù)庫連接對(duì)動(dòng)態(tài)網(wǎng)站來說是最為重要的部分,Java中連接數(shù) 如何建立企業(yè)的電子商務(wù),如何把企業(yè)業(yè)務(wù)建在Internet上,涉據(jù)庫的技術(shù)是JDBC(Java Database Connectivity)。很多數(shù)據(jù)庫系統(tǒng)帶有及到建立電子商務(wù)網(wǎng)站、開發(fā)符合Internet特點(diǎn)的有效的業(yè)務(wù)應(yīng)用、JDBC驅(qū)動(dòng)程序,Java程序就是通過JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫相連,執(zhí)管理網(wǎng)上的交易信息、保證網(wǎng)上數(shù)據(jù)安全、快速反映市場(chǎng)變化以及行查詢、提取數(shù)據(jù)等操作。利用技術(shù)訪問數(shù)據(jù)庫,具體步驟是:1、裝充分滿足Internet業(yè)務(wù)進(jìn)一步發(fā)展的要求等等。對(duì)一個(gè)運(yùn)營商業(yè)企業(yè)載驅(qū)動(dòng)程序;2、建立數(shù)據(jù)庫連接;3、建立語句;4、發(fā)送語句;5、關(guān)閉來說,電子商務(wù)網(wǎng)站是其生存的理由和基礎(chǔ),同時(shí)也是企業(yè)對(duì)外展數(shù)據(jù)庫連接;6、檢索數(shù)據(jù)。示信息、從事商務(wù)活動(dòng)的窗口和界面。淺探JSP實(shí)踐要點(diǎn)(Highlights of JSP Practise)來源:中國論文下載中心摘要:本文著重介紹JSP技術(shù)開發(fā)動(dòng)態(tài)網(wǎng)站中的各種優(yōu)缺點(diǎn),簡(jiǎn)要分析JSP技術(shù)和ASP技術(shù)的不同之處。 關(guān)鍵字:JSP,Java,JDBC-ODBC,JavaBean。 一、引言 在Internet上的眾多網(wǎng)站中,基于WEB數(shù)據(jù)庫的動(dòng)態(tài)網(wǎng)站應(yīng)用相當(dāng)廣泛。基于WEB網(wǎng)絡(luò)數(shù)據(jù)庫的動(dòng)態(tài)網(wǎng)站由一個(gè)WEB瀏覽器作為客戶端界面,一個(gè)數(shù)據(jù)庫服務(wù)器用作信息存儲(chǔ)和一個(gè)連接兩者的WEB應(yīng)用服務(wù)器組成。原有開發(fā)動(dòng)態(tài)網(wǎng)站的CGI技術(shù),隨著WEB應(yīng)用程序的客戶端技術(shù)不斷地發(fā)展,逐漸被JavaApplet、ActiveX控件、DHTML和JavaScript所取代,這些技術(shù)極大地改善了用戶界面,但當(dāng)它們嘗試做一些深入的工作時(shí),它們開始遇到客戶端瀏覽器不兼容、服務(wù)器負(fù)擔(dān)過重、訪問速度下降以及安全性的問題。JSP技術(shù)就是解決這些問題的一把金鑰匙,本文主要介紹在使用JSP技術(shù)構(gòu)建動(dòng)態(tài)網(wǎng)站的過程中對(duì)該技術(shù)的一些要點(diǎn)和難點(diǎn)。 二、JSP技術(shù)要點(diǎn) JSP是基于JavaServlet以及整個(gè)Java體系的Web開發(fā)技術(shù),利用這一技術(shù)可以建立先進(jìn)、安全、快速和跨平臺(tái)的動(dòng)態(tài)網(wǎng)站。在傳統(tǒng)的網(wǎng)頁HTML文件中加入Java程序片段和JSP標(biāo)記,就構(gòu)成了JSP網(wǎng)頁。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送email等等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對(duì)客戶瀏覽器的要求很低。如圖1所示,在用戶連接JSP網(wǎng)站時(shí),用戶請(qǐng)求網(wǎng)頁,JSP頁面獨(dú)自響應(yīng)請(qǐng)求,將用戶對(duì)網(wǎng)頁的請(qǐng)求轉(zhuǎn)化為對(duì)數(shù)據(jù)的請(qǐng)求,通過JavaBean處理請(qǐng)求并將返回的數(shù)據(jù)封裝成HTML頁面返回給用戶。 利用JSP編寫的程序有許多優(yōu)勢(shì): 1、程序?qū)懸淮?,到處可以運(yùn)行:JSP在設(shè)計(jì)時(shí),充分考慮到應(yīng)用平臺(tái)的無關(guān)性。依賴于Java的可移植性,JSP得到目前許多流行OS平臺(tái)的支持,可在Apache、Netscape、IIS等服務(wù)器上執(zhí)行。 2、執(zhí)行速度快:JSP頁面只需編譯一次轉(zhuǎn)化為Java字節(jié)代碼,其后一直駐留于服務(wù)器內(nèi)存中,加快了對(duì)JSP頁面的響應(yīng)速度。若不考慮JSP頁面第一次編譯所花的時(shí)間,則JSP的響應(yīng)速度要比ASP快的多。 3、Java的優(yōu)勢(shì):JSP技術(shù)是用Java語言作為腳本語言的??缙脚_(tái)、成熟、健壯、易擴(kuò)充的Java技術(shù)使得開發(fā)人員的工作在其他方面也變得容易和簡(jiǎn)單。在Windows系統(tǒng)被懷疑可能會(huì)崩潰時(shí),Java能有效地防止系統(tǒng)崩潰。Java語言通過提供防止內(nèi)存泄漏的方法,在內(nèi)存管理方面大顯身手。加之,JSP為應(yīng)用程序提供了更為健壯的意外事件處理機(jī)制更大的發(fā)揮了Java的優(yōu)勢(shì)。 三、JSP技術(shù)難點(diǎn) 1、連接數(shù)據(jù)庫 數(shù)據(jù)庫連接對(duì)動(dòng)態(tài)網(wǎng)站來說是最為重要的部分,在與后端數(shù)據(jù)庫連接時(shí)我們可以采用ODBC或JDBC技術(shù)。雖然ODBC作為傳統(tǒng)的連接數(shù)據(jù)庫的手段,在我們的程序可以是一種選擇,但是ODBC有以下的致命缺陷,從而使它無法勝任JSP的請(qǐng)求; ODBC是一個(gè)C語言實(shí)現(xiàn)的API,從Java程序調(diào)用本地的C程序會(huì)帶來一系列類似安全性、完整性、健壯性方面的缺點(diǎn)。 其次,完全精確的實(shí)現(xiàn)從C代碼ODBC到JavaAPI翻譯的ODBC也不會(huì)另人滿意,因?yàn)樵贘ava中沒有指針,而ODBC中大量的使用了指針,包括極易出錯(cuò)的空指針“void*”。 考慮到平臺(tái)移植性來說,在開發(fā)JSP程序中使用ODBC則會(huì)帶來負(fù)面影響,使得代碼不適合于移植。 為了使我們的程序在具有安全性、完整性、健壯性的同時(shí),同時(shí)有可以方便的移植,所以我們可以采用JDBC連接數(shù)據(jù)庫。JDBC是一種可用于執(zhí)行SQL語句的JavaAPI。它由一些Java語言寫的類、界面組成,使開發(fā)人員可以用純Java語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。通過使用JDBC,我們很方便地將SQL語句傳送到幾乎任何一種數(shù)據(jù)庫。也就是說,我們可以不必寫一個(gè)程序訪問Sybase,寫另一個(gè)程序訪問Oracle,再寫一個(gè)程序訪問Microsoft的SQLServer。用JDBC寫的程序能夠自動(dòng)地將SQL語句傳送給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)。 在本地?cái)?shù)據(jù)庫程序使用Microsoft的Access等數(shù)據(jù)庫時(shí),我們可以使用Sun公司開發(fā)的JDBC-ODBCBridge,用此技術(shù)JSP程序就可以訪問帶有ODBC驅(qū)動(dòng)程序的數(shù)據(jù)庫。這樣即保證了JDBC的優(yōu)點(diǎn)而且保證了純JSP程序的安全性、完整性、健壯性和可移植性,又可以使用Microsoft提供的ODBC數(shù)據(jù)源與Access連接。不管對(duì)方是何種數(shù)據(jù)庫,只要有ODBC接口就可以直接使用JDBC-ODBCBridge與數(shù)據(jù)庫連接,而無需因?yàn)楹蠖藬?shù)據(jù)庫的改變而改動(dòng)相應(yīng)的程序代碼,實(shí)現(xiàn)了應(yīng)用層與數(shù)據(jù)庫層的完美分離。如果我們需要變后端數(shù)據(jù)庫為MySQL,只需要在ODBC數(shù)據(jù)源中安裝了MySQL的驅(qū)動(dòng)程序之后,就可以直接使用MySQL數(shù)據(jù)庫了。 2、內(nèi)建的組件 在實(shí)現(xiàn)網(wǎng)站的時(shí)候,由于客觀需要,為了方便區(qū)分本地局域網(wǎng)用戶與遠(yuǎn)端連上來的用戶并提供相應(yīng)的權(quán)限,我們采用內(nèi)建的組件Request來捕獲每一個(gè)聯(lián)到服務(wù)器上的用戶的IP地址,通過比較之后給出相應(yīng)的權(quán)限。這樣既可以方便管理,而且可以做到本局域網(wǎng)內(nèi)用戶可以使用網(wǎng)站內(nèi)所有公開的和不對(duì)外公開的資源。我們還可以將現(xiàn)有的方法加以改進(jìn),將各種IP地址輸入到數(shù)據(jù)庫中并且賦予不同的IP地址不同的權(quán)限,就可以完整的控制用戶使用網(wǎng)站資源了。 會(huì)話狀態(tài)維持是Web應(yīng)用開發(fā)者必須面對(duì)的問題。為了了解用戶是否還在線,我們使用了內(nèi)建的Session組件,通過給每個(gè)登陸用戶一個(gè)Session變量我們可以在用戶非正常離開網(wǎng)站之后,關(guān)閉該用戶使用的資源,達(dá)到節(jié)省內(nèi)存,提高服務(wù)器性能的目的。 在JSP中還提供了Cookie類,其構(gòu)造器有兩個(gè)參數(shù),分別代表Cookie的名字和值。Cookie類中提供了各種方法設(shè)置Cookie的屬性,如通過setMaxAge()方法可以設(shè)置Cookie的生存時(shí)間。若生存時(shí)間為負(fù)值,代表瀏覽器關(guān)閉Cookie即消失。生存時(shí)間為0,代表刪除Cookie,生存時(shí)間為正數(shù),代表Cookie存在多少秒??梢杂肅ookie臨時(shí)保存用戶的賬號(hào)和口令,JSP可隨時(shí)讀取,驗(yàn)證用戶的合法性。可以將用戶的瀏覽狀態(tài)保存在Cookie中,下次用戶再訪問網(wǎng)頁時(shí),可由JSP向?yàn)g覽器顯示個(gè)性化頁面。 3、轉(zhuǎn)換Unicode編碼 在許多JSP頁面的調(diào)試過程中都碰到過許多由于漢字編碼與Unicode編碼轉(zhuǎn)換引起的問題。經(jīng)常遇到瀏覽器中看到的JSP頁面中的漢字都是亂碼、JSP頁面無法正常顯示GBK漢字、JSP不能接收Form提交的漢字、JSP數(shù)據(jù)庫讀寫無法獲得正確的內(nèi)容等等問題。這是因?yàn)楝F(xiàn)在大部分具有國際化特征的軟件核心字符處理都是以Unicode為基礎(chǔ)的,在軟件運(yùn)行時(shí)根據(jù)當(dāng)時(shí)Locale/Lang/Codepage設(shè) 置確定相應(yīng)的本地字符編碼設(shè)置,并依此處理本地字符,所以我們應(yīng)該在處理過程中實(shí)現(xiàn)Unicode和本地字符集的相互轉(zhuǎn)換,甚或以Unicode為中間的兩個(gè)不同本地字符集的相互轉(zhuǎn)換。這種方式在網(wǎng)絡(luò)環(huán)境下被進(jìn)一步延伸,任何網(wǎng)絡(luò)兩端的字符信息也需要根據(jù)字符集的設(shè)置轉(zhuǎn)換成可接受的內(nèi)容。 由于我的IE默認(rèn)字符集為GB2312,然而Windows默認(rèn)為GBK,Java則默認(rèn)為Unicode,所以如果不通過一定的轉(zhuǎn)換,直接在GB2312字符集上顯示從GBKUnicode得到的頁面將是一片亂碼。JAVA語言采用Unicode處理字符。但從另一個(gè)角度來說,在Java程序中也可以采用非Unicode的轉(zhuǎn)碼,重要的是保證程序入口和出口的漢字信息不失真。如完全采用ISO-8859-1來處理漢字也能達(dá)到正確的結(jié)果。在我的例子中就采用了這種方法,經(jīng)過轉(zhuǎn)換之后并將網(wǎng)頁字符集強(qiáng)制設(shè)為GB2312字符集顯示,就能夠正常顯示漢字了。四、JSP與ASP的比較 ASP技術(shù)也是動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù)。JSP和ASP從形式上非常相似,但是深入探究下去會(huì)發(fā)現(xiàn)它們很多的差別,其中最主要的有以下幾點(diǎn): 1、ASP和JSP的工作原理不同 當(dāng)Web服務(wù)器接收到對(duì)ASP頁面的請(qǐng)求時(shí),它從硬盤或者內(nèi)存中接受正確的ASP文件,并將這個(gè)文件發(fā)送給ASP.DLL文件,ASP文件將會(huì)從頭至尾被解釋執(zhí)行并根據(jù)命令要求生成響應(yīng)的HTML頁面送回給瀏覽器。ASP.DLL會(huì)針對(duì)每個(gè)請(qǐng)求產(chǎn)生一個(gè)獨(dú)立的線程。 JSP由支持它的服務(wù)器上的JSP引擎負(fù)責(zé)解釋執(zhí)行。當(dāng)服務(wù)器接收到一個(gè)對(duì)某JSP頁面的請(qǐng)求時(shí),如果這時(shí)對(duì)該頁面創(chuàng)建或修改后的第一次請(qǐng)求,那么JSP引擎就把該JSP頁面內(nèi)容轉(zhuǎn)變成一個(gè)純Java的Servlet,然后將其編譯成Servlet字節(jié)代碼,這個(gè)Servlet可以調(diào)用其他的Servlet或JavaBeans,最后將Servlet的執(zhí)行結(jié)果輸出給瀏覽器。JSP頁面被編譯成Servlet之后,其執(zhí)行代碼以獨(dú)立線程的方式一直存在于服務(wù)器的內(nèi)存中。以后對(duì)該JSP頁面提出請(qǐng)求時(shí),不需要重新編譯,除非該頁面被修改。JavaServlet由于在服務(wù)器端運(yùn)行,并且不包括會(huì)占用大量系統(tǒng)資源的GUI,因此運(yùn)行的速度要比JavaApplet和Java獨(dú)立應(yīng)用程序快。 2、JSP的效率和安全性更高 ASP以源碼形式存放,以解釋方式運(yùn)行,每次ASP網(wǎng)頁調(diào)用都需要對(duì)源碼進(jìn)行解釋,運(yùn)行效率不高。另外,IIS的漏洞曾使得許多網(wǎng)站源程序大曝光,許多用ASP開發(fā)的網(wǎng)站,ASP程序全部被人下載去了,這樣多網(wǎng)站的安全性產(chǎn)生了很大的危害。JSP源程序不大可能被下載,特別是JavaBean程序完全可以放到不對(duì)外的目錄中;而且我們可以將Bean的JSP原程序刪除,只剩下Class文件,網(wǎng)站照樣可以運(yùn)行。 3、JSP的組件方式更方便 ASP通過COM來擴(kuò)充復(fù)雜的功能,如文件上載、發(fā)送email以及將業(yè)務(wù)處理或者復(fù)雜計(jì)算分離出來成為獨(dú)立可重復(fù)利用的模塊。JSP通過JavaBean實(shí)現(xiàn)了同樣的功能擴(kuò)充。在開發(fā)方面,COM的開發(fā)遠(yuǎn)比JavaBean復(fù)雜和繁瑣,學(xué)會(huì)ASP不難,但學(xué)會(huì)開發(fā)COM可不簡(jiǎn)單。而JavaBean就簡(jiǎn)單多了,從本文上述示例中可以看出開發(fā)JavaBean很方便。 在維護(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ī)),但開發(fā)者已經(jīng)許諾將在以后的版本中做到不需要關(guān)閉服務(wù)器。 另外JSP這種基于組件的模式很有效地提高了應(yīng)用程序的開發(fā)效率,因?yàn)檫@種模式能夠使開發(fā)人員利用快捷的子組件快速創(chuàng)建模板應(yīng)用程序,然后再整合一些附加功能以后便可使用。像這樣的由于Java語言的優(yōu)勢(shì)而產(chǎn)生的有效的方法在JSP中無處不在,并可將其打包成一個(gè)JavaBeans或一個(gè)EJB組件。 4、JSP的適應(yīng)平臺(tái)更廣 ASP目前僅適用于NT和IIS。雖然Unix下有ChiliSoft的插件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的組合來擴(kuò)充,而且ActiveX對(duì)象必須事先放置于所選擇的平臺(tái),Unix下的COM實(shí)現(xiàn)起來非常困難。 JSP則不同,幾乎所有平臺(tái)都支持Java,JSP+JavaBean可以在所有平臺(tái)下通行無阻。NT下IIS通過一個(gè)插件,例如JRUN,就能支持JSP。著名的Web服務(wù)器Apache已經(jīng)能夠支持JSP。雖然現(xiàn)在NT操作系統(tǒng)占了很大的市場(chǎng)份額,但是在服務(wù)器方面Unix的優(yōu)勢(shì)仍然很大,而新崛起的Linux更是來勢(shì)不小。由于Apache廣泛應(yīng)用在NT、Unix和Linux上,因此JSP有更廣泛的運(yùn)行平臺(tái)。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP和JavaBean甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無關(guān)的。將在實(shí)驗(yàn)的JSP網(wǎng)頁原封不動(dòng)地拿到Linux相應(yīng)的服務(wù)器下就運(yùn)行起來了,感覺非常好。 五、發(fā)展與展望 隨著Internet/Intranet技術(shù)的不斷發(fā)展,只有服務(wù)器端動(dòng)態(tài)網(wǎng)頁技術(shù)才能滿足各種Web應(yīng)用程序日益提高的要求,因此各種動(dòng)態(tài)網(wǎng)頁技術(shù)先后出現(xiàn),如CGI、ASP、PHP及JSP等。JSP技術(shù)是很有發(fā)展前景并具有強(qiáng)大功能的服務(wù)器端動(dòng)態(tài)網(wǎng)頁技術(shù)。本文來自范文中國網(wǎng)。ASP技術(shù)雖然不失為一種優(yōu)秀的Web應(yīng)用程序開發(fā)技術(shù)。但同時(shí)也應(yīng)該看到,在Internet上基于WindowsNT+IIS的服務(wù)器畢竟占少數(shù),有關(guān)資料表明大約是15%,其余Web服務(wù)器則是基于Unix、Linux等其他操作系統(tǒng),而JSP由于它的跨平臺(tái)特性,使得其應(yīng)用范圍極其廣泛,而且由于其參與制定標(biāo)準(zhǔn)的廠商眾多,并開放源碼,提供免費(fèi)的JSP實(shí)現(xiàn),因此盡管JSP技術(shù)目前還處于發(fā)展變化之中,但其發(fā)展?jié)摿Σ豢傻凸馈?參考文獻(xiàn): 1何雄,JSP網(wǎng)絡(luò)程序設(shè)計(jì)人民出版社 2林邦杰,JSP交互網(wǎng)站事務(wù)經(jīng)典中國青年出版社 3/developerWorks/java/java_chinese/index.shtml 4DuaneK.Fields,MarkA.Kolb,WebDevelopmentwithJavaServerPagesManningPublicationsCo. Abstract:thispaperdiscussesJSPtechnologyinWebSitedevelopingandtellsthedifferencebetweenJSPandASP. Keyword:JSP,Java,JDBC-ODBC,JavaBean.轉(zhuǎn)貼基于的電子商務(wù)系統(tǒng)中關(guān)鍵技術(shù)研究摘要 隨著 Internet 日益發(fā)展,基于JSP的電子商務(wù)系統(tǒng)越來越普及。主要介紹了幾種基于JSP建立電子商務(wù)系統(tǒng)的關(guān)鍵技術(shù)。首先分析了JSP實(shí)現(xiàn)電子商務(wù)系統(tǒng)的工作原理;隨后對(duì)JSP中運(yùn)用JavaBeans實(shí)現(xiàn)數(shù)據(jù)庫連接及數(shù)據(jù)庫連接池等方面進(jìn)行了較為深入的探討,最后給出了基于JSP的電子商務(wù)系統(tǒng)案例的具體實(shí)現(xiàn)。 關(guān)鍵詞 JSP JavaBeans 數(shù)據(jù)庫連接池 一、引言 隨著網(wǎng)絡(luò)的普及和發(fā)展,電子商務(wù)(electronic commerce)在當(dāng)前的網(wǎng)絡(luò)時(shí)代扮演著越來越重要的角色,并將有力地推動(dòng)信息和信息服務(wù)業(yè)的發(fā)展。它不僅涉及電子技術(shù)和商業(yè)交易本身,而且涉及到諸如金融、稅務(wù)、教育等其他社會(huì)層面,是一個(gè)與社會(huì)大環(huán)境息息相關(guān)并獨(dú)具完整結(jié)構(gòu)體系的系統(tǒng)工程。隨著通信技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,電子商務(wù)的發(fā)展勢(shì)在必行。本文以JSP技術(shù)為背景,論述了構(gòu)建電子商務(wù)系統(tǒng)的關(guān)鍵技術(shù)。 二、JSP 1.概述 JSP(Java Server Pages)是由 Sun,Microsoft 公司倡導(dǎo),多家公司參與建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),其設(shè)計(jì)目的是使構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,由于JSP實(shí)現(xiàn)了Web動(dòng)態(tài)內(nèi)容與顯示的分離,脫離了硬件平臺(tái)的束縛,并且編譯后大大提高了運(yùn)行速度,因此,JSP正逐漸成為Internet上主流的Web應(yīng)用開發(fā)技術(shù)。 2.基于JSP的電子商務(wù)系統(tǒng)體系結(jié)構(gòu) 在電子商務(wù)和網(wǎng)絡(luò)應(yīng)用快速發(fā)展的世界,開發(fā)和管理一個(gè)電子商務(wù)系統(tǒng)將面臨著巨大的挑戰(zhàn)。利用先進(jìn)的Java 技術(shù):JSP 、JavaServlets 和JavaBeans ,能高效地解決前端信息安全以及后臺(tái)大量數(shù)據(jù)接口等一系列大型商業(yè)網(wǎng)站所面臨的問題。JSP作為其中構(gòu)建動(dòng)態(tài)網(wǎng)站的主流技術(shù),正展現(xiàn)著其巨大的魅力。 基于JSP的電子商務(wù)系統(tǒng)的體系結(jié)構(gòu)采用分層架構(gòu),包括客戶端、應(yīng)用邏輯和數(shù)據(jù)服務(wù)三層。 客戶端主要包括 HTML,Applet 和客戶應(yīng)用程序??蛻舳送ㄟ^瀏覽器向服務(wù)器發(fā)送它的請(qǐng)求,Web 服務(wù)器識(shí)別出瀏覽器請(qǐng)求URL 中的.jsp 擴(kuò)展文件名,就會(huì)自動(dòng)調(diào)用JSP引擎行處理。Web 服務(wù)器處理完用戶請(qǐng)求后,把結(jié)果解釋成瀏覽器識(shí)別的 HTML語言,傳送給客戶端。 一個(gè)完整的Web 應(yīng)用程序服務(wù)器基本上是由三個(gè)層次構(gòu)成的:Web服務(wù)器、Servlet 引擎和JSP引擎。當(dāng) Web 應(yīng)用程序服務(wù)器第一次接收到對(duì)一個(gè)JSP頁面的請(qǐng)求時(shí),JSP 引擎就把這個(gè)頁面的源代碼編譯成一個(gè)Servlet。由一個(gè) HTML 頁面和嵌入其中的Java 命令一起組成的一個(gè) JSP 頁面,基本上是要轉(zhuǎn)換成一個(gè)Servlet 類。無論什么時(shí)候如果JSP 頁面發(fā)生了變化,這個(gè)過程都要再執(zhí)行一次。然后由 Servlet 引擎執(zhí)行這個(gè)臨時(shí)的Servlet,來創(chuàng)建響應(yīng)消息,這個(gè)消息就是最終要返回給客戶的信息。 數(shù)據(jù)服務(wù)包括數(shù)據(jù)庫服務(wù)器、Java 應(yīng)用程序以及可使用 CORBA 的應(yīng)用程序等。數(shù)據(jù)服務(wù)通過相關(guān)的接口被應(yīng)用程序邏輯直接調(diào)用,為客戶請(qǐng)求提供數(shù)據(jù)支持。 3.關(guān)鍵技術(shù) (1)JDBC 數(shù)據(jù)庫連接對(duì)電子商務(wù)系統(tǒng)來說是最為重要的部分,Java 中連接數(shù)據(jù)庫的技術(shù)是JDBC(Java Database Connectivity)。很多數(shù)據(jù)庫系統(tǒng)帶有JDBC驅(qū)動(dòng)程序,Java 程序就是通過JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。 JDBC大致被分為三個(gè)部分,即JDBC API,JDBC驅(qū)動(dòng)程序管理器和JDBC驅(qū)動(dòng)程序。JDBC API 通過Java.sql 包來提供。在JDBC API上只設(shè)計(jì)為利用數(shù)據(jù)庫而提供的類的接口,而這個(gè)接口是由提供JDBC驅(qū)動(dòng)的軟件商來實(shí)際完成的。JDBC驅(qū)動(dòng)管理器的作用是在JDBC運(yùn)行結(jié)構(gòu)上,提供最基礎(chǔ)的指引功能。即當(dāng)一個(gè)JDBC API程序進(jìn)行數(shù)據(jù)庫調(diào)用時(shí),它會(huì)選擇一個(gè)正確的JDBC驅(qū)動(dòng)程序進(jìn)行連接。JDBC驅(qū)動(dòng)的作用是當(dāng)JDBC API制作的程序進(jìn)行數(shù)據(jù)調(diào)用時(shí),實(shí)際連接數(shù)據(jù)庫并進(jìn)行相應(yīng)的處理。JDBC驅(qū)動(dòng)提供JDBCAPI的接口類。 (2)JavaBeans JSP程序并不直接訪問數(shù)據(jù)庫, 而是通過JavaBean中間件來訪問數(shù)據(jù)庫。JavaBeans是一種Java類,通過封裝屬性和方法成為具有某種功能或者處理某個(gè)業(yè)務(wù)的對(duì)象。它可以直接被JSP頁面或Servlet調(diào)用,是JSP擴(kuò)展 Web 功能最強(qiáng)有力的一個(gè)方面。數(shù)據(jù)庫訪問中間件用于封裝常用的數(shù)據(jù)庫, 完成數(shù)據(jù)庫連接、打開和關(guān)閉, 執(zhí)行查詢、插入、更新和刪除等操作。將這些復(fù)雜的操作全部封裝在JavaBean中, 可以簡(jiǎn)化編程。 (3)數(shù)據(jù)庫連接池技術(shù) 在數(shù)據(jù)庫操作中, 建立與數(shù)據(jù)庫的連接是非常耗時(shí)的一項(xiàng)操作, 并且數(shù)據(jù)庫所能支持的并發(fā)連接是有限的, 多個(gè)并發(fā)連接將導(dǎo)致數(shù)據(jù)庫運(yùn)行效率急劇下降。使用連接池技術(shù)(Connection Pool), 可充分重用消耗內(nèi)存的資源, 大大節(jié)省內(nèi)存, 提高服務(wù)器的服務(wù)效率, 能夠支持更多的客戶服務(wù) 。數(shù)據(jù)庫連接池技術(shù)對(duì)數(shù)據(jù)庫連接的使用不是每次都要申請(qǐng)、釋放, 這樣可提高對(duì)網(wǎng)站請(qǐng)求的訪問速度, 可增加網(wǎng)站的并發(fā)請(qǐng)求處理能力, 不會(huì)因過多的并發(fā)請(qǐng)求導(dǎo)致網(wǎng)站癱瘓。 三、應(yīng)用案例 下面以典型的電子商務(wù)系統(tǒng)網(wǎng)上書店為例,介紹在該案例中JSP技術(shù)的具體實(shí)現(xiàn)。 1.數(shù)據(jù)庫的訪問技術(shù)實(shí)現(xiàn) (1)將數(shù)據(jù)庫連接封裝在JavaBean中。 首先裝載數(shù)據(jù)庫驅(qū)動(dòng)程序, 可以使用JDBC- ODBC 橋: Class forName(”sun .jdbc. odbc. Jdbc.OdbcDriver”); 也可使用數(shù)據(jù)庫自己特定的JDBC驅(qū)動(dòng)程序, 對(duì) M ySQL驅(qū)動(dòng)程序?yàn)? Class forName(“ org. git. mm .mysql. Driver”); 然后與特定的數(shù)據(jù)庫(在這里連接一個(gè)名為winter的數(shù)據(jù)庫)建立連接: String sConnStr=” jdbc. Odbc. Winter”; Connection conn= DriverManager. getConnection (sConnStr,” username”,” password”); 最后定義執(zhí)行SQL語句的函數(shù): public ResultSet executeQuery (String sql) ResultSet result= null; try Statement stmt= conn. createStatement( ); result =stmt. executeQuery (sql); catch 完成后將這個(gè)JavaBean 的源文件取名為db_bean. java , 編譯成功后生成一個(gè)db_bean. class文件, 把class.文件保存在目錄 Tomcat5.0 webapps Winter W EB- INF classes之下 , 即可在JSP程序中調(diào)用這個(gè)JavaBean對(duì)數(shù)據(jù)庫進(jìn)行相關(guān)操作。 (2)使用JavaBean 來執(zhí)行SQL 語句。 首先調(diào)用剛才完成的JavaBean動(dòng)態(tài)網(wǎng)頁制作技術(shù)JSP與ASP的比較總的來講,JavaSever Pages(JSP)和 微軟的Active Sever Pages(ASP)在技術(shù)方面有許多相似之處。兩者都是為基于WEB應(yīng)用實(shí)現(xiàn)動(dòng)態(tài)交互網(wǎng)頁制作提供的技術(shù)環(huán)境支持,都能夠?yàn)槌绦蜷_發(fā)人員提供實(shí)現(xiàn)應(yīng)用程序的編制與自帶組件設(shè)計(jì)網(wǎng)頁從邏輯上分離的技術(shù),而且都能夠替代CGI使網(wǎng)站建設(shè)與發(fā)展變的較為簡(jiǎn)單與快捷。盡管JavaSever Pages 技術(shù)和微軟的Active Sever Pages在許多方面都有相似的,但仍然存在很多不同之處,其中最本質(zhì)上的區(qū)別在于:兩者是來源于不同的技術(shù)規(guī)范組織,其實(shí)現(xiàn)的基礎(chǔ):WEB服務(wù)器平臺(tái)要求不相同。1. JSP 技術(shù):開放的技術(shù) JSP和ASP技術(shù)明顯的不同點(diǎn):開發(fā)人員在對(duì)兩者各自軟件體系設(shè)計(jì)的深入了解的方式不同。JSP技術(shù)基于平臺(tái)和服務(wù)器的互相獨(dú)立,輸入支持來自廣泛的,專門的,各種工具包,服務(wù)器的組件和數(shù)據(jù)庫產(chǎn)品開發(fā)商所提供。相比之下,ASP技術(shù)主要依賴微軟的技術(shù)支持。1. 平臺(tái)和服務(wù)器的獨(dú)立性 JSP技術(shù)依附于一次寫入,之后,可以運(yùn)行在任何具有符合JavaTM語法結(jié)構(gòu)的環(huán)境。取而代之過去依附于單一平臺(tái)或開發(fā)商,JSP技術(shù)能夠運(yùn)行在任何WEB服務(wù)器上并且支持來自多家開發(fā)商提供的各種各樣工具包。由于ASP是基于Activex控件技術(shù)提供客戶端和服務(wù)器端的開發(fā)組件,因此ASP技術(shù)基本上是局限于微軟的操作系統(tǒng)平臺(tái)之上。ASP主要工作環(huán)境是微軟的IIS應(yīng)用程序結(jié)構(gòu),又因Activex對(duì)象具有平臺(tái)特性,所以ASP技術(shù)不能很容易地實(shí)現(xiàn)在跨平臺(tái)的WEB服務(wù)器的工作。盡管ASP技術(shù)通過第三方提供的產(chǎn)品能夠得到組件和服務(wù)實(shí)現(xiàn)跨平臺(tái)的應(yīng)用程序,但是Activex對(duì)象必須事先放置于所選擇的平臺(tái)中。2. 開放的開發(fā)過程,開放的原代碼 SUN應(yīng)用JAVA社團(tuán)性過程開發(fā)JSP技術(shù)。自從1995年,SUN已經(jīng)用這種開放過程方法同國際JAVA組織合作開發(fā)和修改了JAVA技術(shù)與規(guī)范。針對(duì)JSP的產(chǎn)品,SUN授權(quán)了工具提供商(如Macromedia),結(jié)盟公司(如Apache,Netscape),最終用戶,協(xié)作商及其他。最近,SUN將最新版本的JSP和JavaTM Servlet(JSP 1.1,JAVA SERVLET 2.2)的原代碼發(fā)放給Apache,以求JSP與Apache緊密的相互發(fā)展。Apache,SUN和許多其他的公司及個(gè)人公開成立一個(gè)健壯的咨詢機(jī)構(gòu)以便任何公司和個(gè)人都能免費(fèi)取得信息。(詳見:)JSP應(yīng)用程序界面(API)毫無疑問已經(jīng)取得成功,并將隨JAVA組織不斷開放擴(kuò)大繼續(xù)完善。相反,ASP技術(shù)僅依靠微軟本身的推動(dòng),其發(fā)展是建立在獨(dú)占的,封閉的開發(fā)過程基礎(chǔ)之上。ASP技術(shù)JSP技術(shù)WEB服務(wù)器微軟的IIS或個(gè)人WEB服務(wù)器任何WEB服務(wù)器包括Apache,Netscape,和IIS操作系統(tǒng)平臺(tái)微軟的視窗系統(tǒng)絕大多數(shù)的流行平臺(tái),包括solaris操作系統(tǒng),微軟的視窗系統(tǒng),MAC OS,Linux,及其他UNIX系列平臺(tái)產(chǎn)品跨平臺(tái)訪問需要第三方ASP的引入產(chǎn)品支持WEB信息機(jī)構(gòu)環(huán)境中不同系列的計(jì)算機(jī)群即保證用戶在當(dāng)前軟硬件及人力資源上的投資完全兼容,JSP技術(shù)提供靈活,開放選擇:可以使用各種各樣的工具提供商提供的工具,高度體現(xiàn)工業(yè)化標(biāo)準(zhǔn)輸入與配置3、從開發(fā)人員的角度來看:ASP和JSP技術(shù)都能使開發(fā)者實(shí)現(xiàn)通過點(diǎn)擊網(wǎng)頁中的組件制作交互式的,動(dòng)態(tài)的內(nèi)容和應(yīng)用程序的WEB站點(diǎn)。ASP僅支持組件對(duì)象模型COM,而JSP技術(shù)提供的組件都是基于JavabeansTM技術(shù)或JSP標(biāo)簽庫。由此可以看出兩者雖有相同之處,但其區(qū)別是很明顯的。1. JSP標(biāo)簽可擴(kuò)充性 盡管ASP和JSP都使用標(biāo)簽與腳本技術(shù)來制作動(dòng)態(tài)WEB網(wǎng)頁,JSP技術(shù)能夠使開發(fā)者擴(kuò)展JSP標(biāo)簽得以應(yīng)用,JSP開發(fā)者能定制標(biāo)簽庫,所以網(wǎng)頁制作者充分利用與XML兼容的標(biāo)簽技術(shù)強(qiáng)大的功能,大大減少對(duì)腳本語言的依賴。由于定制標(biāo)簽技術(shù),使網(wǎng)頁制作者降低了制作網(wǎng)頁和向多個(gè)網(wǎng)頁擴(kuò)充關(guān)鍵功能的復(fù)雜程度。2. JSP跨平臺(tái)的可重用性 JSP的開發(fā)人員在開發(fā)過程中一直關(guān)注可重用性。JSP組件(企業(yè)JavabeansTM,Javabeans,或定制的JSP標(biāo)簽)都是跨平臺(tái)可重用的。企業(yè)Javabeans組件可以訪問傳統(tǒng)的數(shù)據(jù)庫,并能以分布式系統(tǒng)模式工作于UNIX和WINDOWS平臺(tái)。JSP技術(shù)的標(biāo)簽可擴(kuò)充功能為開發(fā)人員提供簡(jiǎn)便的,與XML兼容的接口即共享網(wǎng)頁的打包功能使其完全的工業(yè)標(biāo)準(zhǔn)化。這種基于組件的模式很有效提高應(yīng)用程序的開發(fā)效率,因?yàn)檫@種模式能夠使開發(fā)人員利用快捷的子組件快速創(chuàng)建模板應(yīng)用程序,然后再整合一些附加功能以后便可使用。象這樣有效的方法在JSP中無處不在,并可將其打包成一個(gè)Javabean或一個(gè)工業(yè)標(biāo)準(zhǔn)化的Javabean組件。1. JAVA的優(yōu)越性 JSP技術(shù)是用JAVA語言作為腳本語言的,而ASP網(wǎng)頁使用微軟的VBScrip或Jscrip。JAVA是成熟的,強(qiáng)大的,易擴(kuò)充的編程語言,遠(yuǎn)優(yōu)于基于BASIC的腳本語言。如:JAVA的可執(zhí)行性優(yōu)于VBScript或Jscript語言。因?yàn)樗鼈兝肑AVA技術(shù)并且都被編譯為JAVA Servlets,J

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論