劉學(xué)波 朝陽廣播電視大學(xué)
電子商務(wù)網(wǎng)站是一個(gè)企業(yè)或機(jī)構(gòu)在互聯(lián)網(wǎng)上建立的站點(diǎn),利用互聯(lián)網(wǎng)傳播速度快、范圍廣的特點(diǎn),拓展線下交易,建立網(wǎng)上展示、購物等功能,它具有信息量大、同一時(shí)間訪問者繁多的特點(diǎn),而網(wǎng)站的信息都存放在數(shù)據(jù)庫中。基于JSP的JDBC方法連接數(shù)據(jù)庫、用JavaBean、連接池技術(shù)可以減少頻繁連接和關(guān)閉數(shù)據(jù)庫,從而實(shí)現(xiàn)系統(tǒng)的高效性、穩(wěn)定性。
JSP(Java Server Pages)是一種用于建立網(wǎng)絡(luò)站點(diǎn)的、基于JAVA技術(shù)的服務(wù)器腳本的解決方案。它是用JAVA編寫的一組對象的集合,采用簡單的腳本語法在對象和JSP之間進(jìn)行通信。在傳統(tǒng)的網(wǎng)頁中加入JSP標(biāo)記和JAVA程序片段就構(gòu)成了JSP網(wǎng)頁。服務(wù)器在遇到用戶的JSP網(wǎng)頁請求時(shí),首先執(zhí)行JAVA的程序片段,然后將執(zhí)行結(jié)果以HTML傳統(tǒng)網(wǎng)頁的格式返回客戶,所以JSP技術(shù)可以將網(wǎng)頁中動(dòng)態(tài)部分和靜態(tài)的HTML相分離。利用JavaServlet和JavaBean組件的重用,來提高軟件開發(fā)的效率,采用標(biāo)識(shí)來簡化頁面開發(fā),設(shè)置內(nèi)置對象和應(yīng)用組件來降低開發(fā)難度,利用先進(jìn)的JAVA技術(shù)能高效解決后臺(tái)大量的數(shù)據(jù)接口和前端信息安全等電子商務(wù)網(wǎng)站所面臨的問題。又由于JAVA具有的分布式的、與平臺(tái)無關(guān)的、高性能的、多線程的、動(dòng)態(tài)的等優(yōu)點(diǎn),所以JSP+JDBC+JavaServlet+JavaBean已經(jīng)成為開發(fā)電子商務(wù)平臺(tái)的主流技術(shù)。
JSP訪問Web數(shù)據(jù)庫有兩種主流技術(shù),即JDBC技術(shù)和連接池技術(shù)。
JDBC(Java DataBase Connectivity)是一種可用于執(zhí)行SQL(Structured Query Language)語句的Java API,它是由一些Java語言編寫的類和接口組成,是SUN公司制訂的Java數(shù)據(jù)庫連接技術(shù)的簡稱,可用于各種數(shù)據(jù)庫的無縫連接。它具有使用方便、易于掌握、移植性好、易于編寫和維護(hù)等特點(diǎn)。利用JDBC-ODBC橋技術(shù),可以方便訪問帶有ODBC(Open Database Connectivity)驅(qū)動(dòng)程序的數(shù)據(jù)庫,如Oracle、MySQL、Sybase、MicroSoft SQL Server等,從而實(shí)現(xiàn)數(shù)據(jù)庫跨平臺(tái)的訪問。通過JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫相聯(lián),直接調(diào)用SQL命令執(zhí)行查詢、修改、刪除等操作。JDBC是Java數(shù)據(jù)庫連接的API,簡單的說,它能完成三件事:與一個(gè)數(shù)據(jù)庫建立連接;向數(shù)據(jù)庫發(fā)送SQL語句;處理數(shù)據(jù)庫返回的結(jié)果。
JavaBean是一種Java語言編寫的可重用組件,通過封裝屬性和方法成為具有某種功能或者處理某個(gè)業(yè)務(wù)的對象。它是一種Java類,可以把它看做一個(gè)黑盒子,只需要知道其功能而不必管其內(nèi)部結(jié)構(gòu)和軟件設(shè)備。JavaBean只介紹和定義其外部特征和其它部分接口,從而有效控制系統(tǒng)的整體性能。它具有可實(shí)現(xiàn)代碼的重復(fù)利用,易編寫,易維護(hù),可以在任何安裝JAVA運(yùn)行環(huán)境的平臺(tái)上使用而不需重新編譯的特點(diǎn),是一種重復(fù)使用且跨平臺(tái)的組件。它將數(shù)據(jù)庫的基本操作邏輯封裝在JavaBean包中,通過JSP調(diào)用JavaBean來實(shí)現(xiàn)數(shù)據(jù)庫的連接。
電子商務(wù)網(wǎng)站都要面臨并發(fā)的問題,即同一時(shí)刻有多個(gè)用戶同時(shí)訪問數(shù)據(jù)庫,那么單一使用JDBC的數(shù)據(jù)庫連接技術(shù),就可能出現(xiàn)前面用戶的需求尚未處理完畢,后面的請求會(huì)大大增加,從而導(dǎo)致系統(tǒng)內(nèi)存不足、資源耗盡的危險(xiǎn),所以才引進(jìn)連接池技術(shù)。連接池(Connection Pool)技術(shù)是目前被認(rèn)為最合適的解決數(shù)據(jù)庫連接問題的方法。連接池就是眾多連接對象的“緩沖存儲(chǔ)池”,也就是連接對象的集合體。它負(fù)責(zé)管理數(shù)據(jù)庫連接的建立、釋放和調(diào)度,不需要執(zhí)行數(shù)據(jù)庫連接的操作,只需從連接池的空閑隊(duì)列中取用即可;當(dāng)訪問完成后,再將連接放回池中,供其它數(shù)據(jù)庫操作復(fù)用。我們還可以設(shè)定連接池的最大連接數(shù)來防止系統(tǒng)無盡的與數(shù)據(jù)庫連接,更為重要的是我們還可以監(jiān)視數(shù)據(jù)庫的連接數(shù)量、使用情況,為系統(tǒng)的測試及性能的調(diào)整提供科學(xué)的依據(jù)。
電子網(wǎng)站信息量大、訪問頻繁,并且并發(fā)訪問極多,這就給網(wǎng)站的訪問速度、效率等帶來了極高的挑戰(zhàn)。采用JDBC訪問數(shù)據(jù)庫、應(yīng)用連接池技術(shù)極大地減少了數(shù)據(jù)庫連接和關(guān)閉的操作,高效解決了電子商務(wù)網(wǎng)站中訪問數(shù)據(jù)庫的問題,明顯地提高了數(shù)據(jù)庫的訪問效率。
[1]孫燕主編, ,JAVA 2入門與實(shí)例教程,中國鐵道出版社,2003.
[2]孫一林 彭波編著,JAVA數(shù)據(jù)庫編程實(shí)例,清華大學(xué)出版社,2003.
[3]白毅,JSP訪問WEB數(shù)據(jù)庫,網(wǎng)絡(luò)世界,2005,P49-49.