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