《基于JAVA語言的電子網(wǎng)站數(shù)據(jù)庫連接分析》由會員分享,可在線閱讀,更多相關(guān)《基于JAVA語言的電子網(wǎng)站數(shù)據(jù)庫連接分析(2頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于JAVA語言的電子網(wǎng)站數(shù)據(jù)庫連接分析
摘 要:本文從JSP技術(shù)與網(wǎng)絡(luò)數(shù)據(jù)庫的原理入手,通過分析java數(shù)據(jù)庫連接提供的完備數(shù)據(jù)庫操作方法接口,實現(xiàn)基于JSP平臺的電子商務(wù)網(wǎng)站的數(shù)據(jù)庫連接,為網(wǎng)絡(luò)數(shù)據(jù)庫的遠程維護進行了有益的探索。
關(guān)鍵詞:JAVA;電子網(wǎng)站;數(shù)據(jù)庫
引言 隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,動態(tài)網(wǎng)站成為了主流,而動態(tài)網(wǎng)站的源泉就是網(wǎng)絡(luò)數(shù)據(jù)庫,隨之而帶來的問題就是網(wǎng)絡(luò)數(shù)據(jù)的維護,目前主要是本地維護。隨著信息技術(shù)的發(fā)展,遠程維護漸漸體現(xiàn)出它的優(yōu)勢與用途。Java服務(wù)器網(wǎng)頁(Java Server Page)是九十代末出現(xiàn)的一項新技術(shù),該技術(shù)在國外網(wǎng)絡(luò)應(yīng)用程
2、序的開發(fā)中非常普遍,在國內(nèi),雖然目前不是主流開發(fā)技術(shù),但隨著JSP強大用途的體現(xiàn),越來越多的網(wǎng)站開始利用JSP進行動態(tài)網(wǎng)絡(luò)的開發(fā)。 1 JSP技術(shù)簡介 JSP是一種動態(tài)網(wǎng)頁技術(shù)標準,和我們熟悉的ASP有些類似,是在傳統(tǒng)的HTML網(wǎng)頁文件中插入Java程序段(Scriptlet)和JSP標記(tag)而形成JSP文件(*.jsp)。其主要的優(yōu)勢有:(1)第一次編寫后,在任何情況下都可以運行,除了系統(tǒng)之外,代碼不用做任何的修改;(2)強大的可伸縮性。一方面一個小的Jar文件就可以運行Servlet/JSP,另一方面可以由多臺服務(wù)器進行集群和負載均衡,多臺Application進行事務(wù)處理和消息
3、處理;(3)系統(tǒng)的兼容好,JSP的開發(fā)基本上可以在所有平臺上的任意環(huán)境進行,也可以在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中進行擴展,這一點現(xiàn)在的ASP/PHP是不能實現(xiàn)的。 2 JDBC介紹 JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序。其總體結(jié)構(gòu)圖如圖1所示。通過JDBC,可以很方便向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句,而不必為訪問Sybase數(shù)
4、據(jù)庫、Informix數(shù)據(jù)庫以及Oracle數(shù)據(jù)庫而各自專門寫一個程序,而只需要利用JDBC API編寫一個程序就可以了。同時,JDBC與JAVA語言的配合使用,讓程序開發(fā)者不必為不同的平臺編寫不同的應(yīng)用程序,這上面已經(jīng)敘述過。另外,JDBC還擴展了JAVA的功能,可以利用JDBC API和JAVA發(fā)布含有APPLET的網(wǎng)頁,也可以利用JDBC通過INTRANET將某些數(shù)據(jù)信息連到一個或多個內(nèi)部數(shù)據(jù)庫中,而不需要考慮這些數(shù)據(jù)信息是否來自于UNIX、WINDOWS等不同的操作系統(tǒng)。 圖1 JDBC總體結(jié)構(gòu)圖 3 JSP訪問電子網(wǎng)站數(shù)據(jù)庫分析 3.1 JDBC URL 通過前節(jié)的
5、分析可知,JSP是通過JDBC實現(xiàn)數(shù)據(jù)庫的訪問,JDBC使用數(shù)據(jù)庫URL來給出數(shù)據(jù)庫驅(qū)動程序。換句話說,通過JDBC URL提供數(shù)據(jù)庫的標識,隨后相應(yīng)的驅(qū)動程序通過標識識別相應(yīng)的數(shù)據(jù)庫,并建立相應(yīng)的連接。JDBC URL的標準語法由JDBC、子協(xié)議和子名稱三部分組成,其語法表示如下: jdbc:: 由此可以看出,各部分之間是通過冒號分割。其中jdbc表示所用的協(xié)議,均為jdbc;為數(shù)據(jù)庫連接機制或者驅(qū)動程序的名稱,例如:odbc等;第三部分是標識數(shù)據(jù)庫的方法,不同的子協(xié)議有不同的子名稱,以此來定位數(shù)據(jù)庫,反映不同數(shù)據(jù)庫驅(qū)動程序的語法。 3.2 驅(qū)動程序的裝載 驅(qū)動程序的裝載根據(jù)
6、驅(qū)動程序的不同有不同的格式,本文主要分析裝載JDBC驅(qū)動的格式。該方式適合已經(jīng)具有特定JDBC驅(qū)動程序的數(shù)據(jù)庫訪問?;居梅ㄊ牵? Class.forName(“jdbc.driver_name”); 對于不同的數(shù)據(jù)庫,JDBC驅(qū)動程序也有所不同。例如: SQL Server橋驅(qū)動程序的裝載語法是: <%Class.forName(""com.microsoft.jdbc.sqlserver.SQLServerDriver""); Oracle Jdbc Thin橋驅(qū)動程序的裝載語法是: <%Class.forName(“oracle.jdbc.driver.Oracl
7、eDriver”); 而大家所熟悉的mySQL橋驅(qū)動程序的裝載語法為: <%Class.forName(“org.git.mm.mysql.Driver”); 另外還有oracle Jdbc OCI橋驅(qū)動程序的裝載語法: <%Class.forName(“oracle.jdbc.driver.OracleDriver”); 3.3 數(shù)據(jù)庫連接的建立 通過驅(qū)動程序的裝載后,就可以建立數(shù)據(jù)庫連接。本文主要分析使用JDBC直接連接數(shù)據(jù)庫的情況?;静襟E是:一是在servlet、beans等主程序中建立數(shù)據(jù)庫連接;二是運用SQL語句進行數(shù)據(jù)庫的讀取、修改等操作;三是斷開數(shù)據(jù)庫連
8、接。 建立數(shù)據(jù)庫連接的標準方法是通過DriverManager類,該類控制了所有注冊的JDBC驅(qū)動程序集合。在3.2節(jié)中裝載數(shù)據(jù)庫驅(qū)動的時候,首先在DriverManager類中進行登記,然后根據(jù)JDBC URL的標識選擇相應(yīng)的驅(qū)動程序。建立數(shù)據(jù)庫連接時,主要通過getConnection()方法來實現(xiàn),其創(chuàng)建連接的語法格式為: Connection Conname=DriverManager.getConnection(url,username,pwd); 語法中的url就是3.1中所介紹的JDBC URL,以此讓DriverManager從登記注冊的數(shù)據(jù)庫驅(qū)動中找到與URL中指
9、定的數(shù)據(jù)庫進行連接的驅(qū)動程序。Username為登錄數(shù)據(jù)庫的用戶名,pwd為登錄數(shù)據(jù)庫的密碼。 例如用thin模式,jsp連接Oracle8/8i/9i數(shù)據(jù)庫的部分語法如下: testoracle.jsp如下: <%Class.forName(""oracle.jdbc.driver.OracleDriver"").newInstance(); String url=""jdbc:oracle:thin:@localhost:1521:orcl""; //orcl為你的數(shù)據(jù)庫的SID String user=""scott""; Strin
10、g password=""tiger""; Connection conn= DriverManager.getConnection(url,user,password); 3.4數(shù)據(jù)庫連接關(guān)閉 由于數(shù)據(jù)庫連接的數(shù)據(jù)是有一定限制的,所以,當對數(shù)據(jù)庫執(zhí)行完讀取、修改或者保存等操作后,需要及時釋放連接。實現(xiàn)代碼是: Btconn.close(); Conn.close(); 4結(jié)束語 本文通過分析基于JAVA語言的電子網(wǎng)站數(shù)據(jù)庫的連接,掌握運用JSP技術(shù)進行數(shù)據(jù)庫連接的原理也方法。使網(wǎng)絡(luò)數(shù)據(jù)庫的維護不受地點也時間的限制,保證了網(wǎng)絡(luò)信息的實效性與有用性。 參考文獻: 【1】白毅,JSP訪問WEB數(shù)據(jù)庫,網(wǎng)絡(luò)世界,2005,P49-49 【2】賀斌,基于JAvA/Servlet/JDBC技術(shù)的電子商務(wù)軟件設(shè)計與實現(xiàn),西安,西北工業(yè)大學,2001 【3】劉媛春羅云翔,基于JSP的動態(tài)網(wǎng)頁技術(shù),成都信息工程學院學報,2005,20(4),P399-339 【4】王姍薩師宣:數(shù)據(jù)庫原理.北京:人民大學出版社,2004 【5】武延軍黃飛躍:精通JSP編程技術(shù).北京:人民郵電出版社,2001 【6】周平安. 基于JDBC的數(shù)據(jù)庫連接池高效管理策略.計算機工程與應(yīng)用,2003 3