- 相關(guān)推薦
用JSP訪問電子商務(wù)網(wǎng)站數(shù)據(jù)庫
[摘要] 高效的Web數(shù)據(jù)庫訪問技術(shù)是電子商務(wù)網(wǎng)站成功的重要保證之一。本文通過實(shí)例著重先容了JSP中用連接池技術(shù)訪問Web數(shù)據(jù)庫的方法,該方法可以高效地實(shí)現(xiàn)多用戶并發(fā)對(duì)Web數(shù)據(jù)庫的訪問。[關(guān)鍵詞] JSP;JDBC;連接池
電子商務(wù)網(wǎng)站具有信息交流量大、信息交流快捷的特點(diǎn),電子商務(wù)網(wǎng)站與一般網(wǎng)站相比,具有3個(gè)特點(diǎn):一是信息量大;二是在同一時(shí)刻訪問者繁多;三是它應(yīng)具有商品規(guī)范的實(shí)施和數(shù)據(jù)處理能力。因此,電子商務(wù)網(wǎng)站建設(shè)的著重點(diǎn)是信息量的豐富和流通的快捷。電子商務(wù)網(wǎng)站中的信息是存儲(chǔ)在數(shù)據(jù)庫中的,采用JSP 訪問數(shù)據(jù)庫,應(yīng)用連接池技術(shù)可以極大地減少連接和封閉數(shù)據(jù)庫的操縱,進(jìn)步系統(tǒng)性能。
一、JSP簡(jiǎn)介
JSP(Java Server Pages)是一種開發(fā)Web 后臺(tái)程序的技術(shù),是由Sun公司推出的基于Java 的新一代站點(diǎn)開發(fā)語言。它可以在JavaBean 和Servlet 的支持下,完成功能強(qiáng)大的站點(diǎn)程序開發(fā),尤其是對(duì)Web 數(shù)據(jù)庫的訪問操縱。JSP 作為站點(diǎn)開發(fā)語言,具有運(yùn)行速度快、安全性高、易于擴(kuò)展等獨(dú)特優(yōu)點(diǎn),這是其他站點(diǎn)開發(fā)語言(如ASP)無法相比的。另外,幾乎所有的平臺(tái)都支持Java、JSP以及JavaBean。
利用先進(jìn)的Java 技術(shù):JSP,Java Servlets 和Java Bean,能高效地解決前端信息安全以及后臺(tái)大量數(shù)據(jù)接口等一系列大型電子商務(wù)網(wǎng)站所面臨的題目。JSP 技術(shù)進(jìn)行數(shù)據(jù)訪問有幾個(gè)特點(diǎn):將內(nèi)容的天生和顯示進(jìn)行分離;夸大組件的重用,進(jìn)步軟件開發(fā)的效率;采用標(biāo)識(shí)簡(jiǎn)化頁面開發(fā),設(shè)置內(nèi)置對(duì)象和應(yīng)用組件,降低開發(fā)難度。現(xiàn)在,JSP Servlet JDBC JavaBean 已經(jīng)成為開發(fā)電子商務(wù)平臺(tái)的主流技術(shù)。
二、JSP對(duì)Web數(shù)據(jù)庫的訪問
JSP 訪問Web數(shù)據(jù)庫有兩種主流技術(shù),分別是JDBC(JavaBean) 技術(shù)和連接池技術(shù)。
1.JDBC(JavaBean)技術(shù)
JSP 借助Java語言的數(shù)據(jù)庫連接技術(shù)JDBC (Java Database Connectivity),即通過JDBC 驅(qū)動(dòng)程序與數(shù)據(jù)庫相聯(lián),執(zhí)行查詢、修改、增加、刪除等操縱。JDBC作為一種數(shù)據(jù)庫訪問技術(shù),具有使用簡(jiǎn)單、可移植性強(qiáng)、易于編寫和維護(hù)等優(yōu)點(diǎn),可高效地實(shí)現(xiàn)數(shù)據(jù)庫的連接。
利用JDBC-ODBC 轉(zhuǎn)換,Java程序就可以訪問帶有ODBC 驅(qū)動(dòng)程序的數(shù)據(jù)庫,從而方便地實(shí)現(xiàn)數(shù)據(jù)庫的跨平臺(tái)訪問。目前,大多數(shù)數(shù)據(jù)庫系統(tǒng)都帶有ODBC 驅(qū)動(dòng)程序,所以JSP 能訪問Oracle,Sybase,Microsoft SQL Server,MySQL和MS Access 等各種數(shù)據(jù)庫。
JavaBean 技術(shù)是一種可重復(fù)使用且跨平臺(tái)的軟件組件,它為軟件開發(fā)者提供了一種極佳的解決方案,使他們可以利用JavaBean 技術(shù)封裝事務(wù)邏輯,很好地實(shí)現(xiàn)業(yè)務(wù)邏輯和客戶端操縱的分離,使系統(tǒng)具有更好的靈活性和適用性。其工作原理是將數(shù)據(jù)庫的基本操縱邏輯封裝在JavaBean 包中,通過JSP 調(diào)用JavaBean 來實(shí)現(xiàn)數(shù)據(jù)庫的連接。首先將用Java 編寫的數(shù)據(jù)庫連接和對(duì)數(shù)據(jù)庫的基本操縱的程序編譯,天生*. class文件,然后就可以通過JSP 調(diào)用Java Bean 來實(shí)現(xiàn)數(shù)據(jù)庫的操縱。使用JavaBean 進(jìn)步了代碼的重用程度,簡(jiǎn)化了程序設(shè)計(jì)的復(fù)雜度。
2.連接池技術(shù)
固然JDBC(JavaBean)作為一種數(shù)據(jù)庫訪問技術(shù)具有諸多優(yōu)點(diǎn),但在電子商務(wù)網(wǎng)站中,當(dāng)有大量的用戶同時(shí)訪問時(shí),采用此種技術(shù)反而會(huì)使系統(tǒng)性能下降。為了解決這一題目,在JSP 中,把連接池技術(shù)和JDBC(JavaBean) 結(jié)合起來使用。
連接池(Connection Pool)就是眾多連接對(duì)象的“緩沖存儲(chǔ)池”,也就是連接對(duì)象的集合體。連接池負(fù)責(zé)治理數(shù)據(jù)庫連接的建立、開釋和調(diào)度。事前連接池先建立若干個(gè)連接,放置在內(nèi)存對(duì)象中,當(dāng)有數(shù)據(jù)庫訪問請(qǐng)求時(shí),不需要執(zhí)行連接數(shù)據(jù)庫的操縱,只需從連接池的空閑隊(duì)列中取用連接;數(shù)據(jù)庫訪問完成后,將連接放回連接池中,供其他數(shù)據(jù)庫操縱時(shí)復(fù)用連接池中的連接。應(yīng)用連接池技術(shù)極大地減少了連接和封閉數(shù)據(jù)庫的操縱,非常明顯地進(jìn)步了系統(tǒng)性能。
三、連接池實(shí)例
本例建立的數(shù)據(jù)庫連接池,可以高效地實(shí)現(xiàn)多用戶并發(fā)對(duì)數(shù)據(jù)庫的訪問,數(shù)據(jù)庫使用的是Oracle。
public class MyConPool{
private String driver = "oracle. jdbc. driver. OracleDriver" ;
private String url = "jdbc :oracle :thin : @DBServer :1521 :OraDB" ;
private String user = " " ;
private String password = " " ;
private int ConMax = 1000 ;//連接池的最大連接數(shù)
private int initiateConNum= 3 ;//連接池初始化時(shí)的連接數(shù)
private int incrementConNum= 2 ;
public int ActiveCon = 0 ;//當(dāng)前正使用的連接數(shù)
public Vector Pool = new Vector () ;//保存數(shù)據(jù)庫連接
java. text . SimpleDateFormat formatter =new java. text . SimpleDateFormat ("yyyy-MM-dd HH:mm:ss" ) ;
java. util . Date currentTime-1 = new java. util . Date () ; public String time =formatter. format (currentTime-1) ;
//初始化initiateConNum 個(gè)數(shù)據(jù)庫連接
public synchronized void initiatePool () {
addConnection(initiateConNum) ;
}
//獲得數(shù)據(jù)庫連接
public synchronized Connection getConnection() throws Exception{
Connection conn = null ;
if (Pool . size ()
【用JSP訪問電子商務(wù)網(wǎng)站數(shù)據(jù)庫】相關(guān)文章:
VB訪問數(shù)據(jù)庫的方法及接口的比較03-18
應(yīng)用LabSQL實(shí)現(xiàn)LabVIEW中數(shù)據(jù)庫的訪問03-07
用戶訪問模式挖掘及在電子商務(wù)中的應(yīng)用03-22
GIS訪問網(wǎng)絡(luò)數(shù)據(jù)庫中若干技術(shù)問題的探討03-18
電子商務(wù)網(wǎng)站的系統(tǒng)設(shè)計(jì)03-22
旅游電子商務(wù)網(wǎng)站的構(gòu)建03-22