999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

JDBC數(shù)據(jù)庫連接池技術(shù)及其在JSP中的實(shí)現(xiàn)

2011-12-31 00:00:00修永富
中國教育技術(shù)裝備 2011年18期

摘要 分析傳統(tǒng)模式下JDBC訪問數(shù)據(jù)庫的缺陷,介紹數(shù)據(jù)庫連接池的基本概念與工作原理,并闡述使用連接池的數(shù)據(jù)庫訪問機(jī)制的優(yōu)點(diǎn),最后給出JDBC數(shù)據(jù)庫連接池在JSP應(yīng)用程序中的實(shí)現(xiàn)方法。

關(guān)鍵詞 JDBC;數(shù)據(jù)庫連接池;JSP

中圖分類號(hào):TP311.1 文獻(xiàn)標(biāo)識(shí)碼:B 文章編號(hào):1671-489X(2011)18-0110-02

JDBC Database-connection Technique and Application in JSP//Xiu Yongfu

Abstract This article analyzes the default of the database access in the traditional mode, the concept and the principle of the database-connection. Also, we expatiate the merit by using database connection. At the last, we give the method of application of JDBC database-connection.

Key words JDBC; database-connection; JSP

Author’s address Tianjin Foreign Studies University, School of Education Technology and Information Service, Tianjin, China 300204

1 引言

隨著Web應(yīng)用的不斷深入,人們對Web應(yīng)用系統(tǒng)的性能提出更高的要求,要求基于Web的系統(tǒng)安全、可靠,并且要有足夠的動(dòng)態(tài)交互能力。而其中影響Web系統(tǒng)性能的一個(gè)重要因素是數(shù)據(jù)庫連接機(jī)制,因?yàn)榻?shù)據(jù)庫連接是系統(tǒng)中代價(jià)最大的操作之一。所以,優(yōu)化數(shù)據(jù)庫連接,提高數(shù)據(jù)庫連接效率成為提高Web應(yīng)用系統(tǒng)性能的重要問題。數(shù)據(jù)庫連接池技術(shù)是近幾年發(fā)展起來的一種新的數(shù)據(jù)庫連接方法,它通過重用一組連接對象,使所有用戶共享一組打開的連接,實(shí)現(xiàn)數(shù)據(jù)庫連接的高效、安全的復(fù)用,從而提高系統(tǒng)的性能。

2 傳統(tǒng)數(shù)據(jù)庫連接的不足

傳統(tǒng)的基于Web的數(shù)據(jù)庫連接操作主要按以步驟進(jìn)行:1)建立數(shù)據(jù)庫連接;2)進(jìn)行Sql操作;3)關(guān)閉數(shù)據(jù)庫連接。使用這種模式開發(fā)存在很多的問題:1)Web請求都需要建立一次數(shù)據(jù)庫連接,每建立一次數(shù)據(jù)庫連接就需要花費(fèi)0.05~1 s的時(shí)間,還要花費(fèi)很大的系統(tǒng)開銷;2)不能控制被創(chuàng)建的連接對象數(shù),系統(tǒng)資源被毫無顧忌地開銷,最后導(dǎo)致系統(tǒng)內(nèi)存溢出,服務(wù)器崩潰;3)必須管理每一個(gè)連接,確保它們能被正常關(guān)閉,如果出現(xiàn)程序異常而導(dǎo)致某些連接未能關(guān)閉,將導(dǎo)致數(shù)據(jù)庫系統(tǒng)中的內(nèi)存泄露,最終將不得不重啟數(shù)據(jù)庫[1]。

3 數(shù)據(jù)庫連接池

3.1 數(shù)據(jù)庫連接池概述

連接池(connection-pool),顧名思義,就是眾多連接對象的“緩沖存儲(chǔ)池”,也就是連接對象的集合體。連接池內(nèi)部提供一種管理機(jī)制,能控制連接池內(nèi)部連接對象的個(gè)數(shù),對應(yīng)用程序提供獲取和釋放連接的接口,完善的連接池還能控制連接對象的生存期[2]。數(shù)據(jù)庫連接池就是在內(nèi)存中預(yù)先建立一些數(shù)據(jù)庫連接放置于“緩沖池”以備使用,當(dāng)程序需要建立數(shù)據(jù)庫連接時(shí),只需從“緩沖池”中取出一個(gè)來用而不用新建;同樣,使用完畢后,只需放回“緩沖池”中即可,而連接的建立、斷開都由連接池自身來管理[3]。同時(shí),還可以通過設(shè)置連接池的參數(shù)來控制連接池中的連接數(shù)、每個(gè)連接的最大使用次數(shù)等。

3.2 使用數(shù)據(jù)庫連接池的優(yōu)點(diǎn)

數(shù)據(jù)庫連接池具有傳統(tǒng)數(shù)據(jù)庫連接機(jī)制不可比擬的優(yōu)點(diǎn)。1)資源重用。由于數(shù)據(jù)庫連接得到重用,避免了頻繁創(chuàng)建、釋放連接引起的大量性能開銷。2)更快的系統(tǒng)響應(yīng)速度。數(shù)據(jù)庫連接池在初始化過程中,往往已經(jīng)創(chuàng)建了若干數(shù)據(jù)庫連接置于池中備用,此時(shí)連接的初始化工作均已完成,對于業(yè)務(wù)請求處理而言,直接利用現(xiàn)有可用連接,避免了數(shù)據(jù)庫連接初始化和釋放過程的時(shí)間開銷,從而縮減系統(tǒng)整體響應(yīng)時(shí)間。3)統(tǒng)一的連接管理,避免數(shù)據(jù)庫連接泄漏。在較為完備的數(shù)據(jù)庫連接池實(shí)現(xiàn)中,可根據(jù)預(yù)先的連接占用超時(shí)綁定,強(qiáng)制收回被占用連接,從而避免常規(guī)數(shù)據(jù)庫連接操作中可能出現(xiàn)的資源泄漏。

3.3 數(shù)據(jù)庫連接池的主要操作

數(shù)據(jù)庫連接池的主要操作:1)建立數(shù)據(jù)庫連接池對象(隨著服務(wù)器的啟動(dòng)而建立);2)按照事先指定的參數(shù)創(chuàng)建初始數(shù)量的數(shù)據(jù)庫連接;3)對于一個(gè)數(shù)據(jù)庫訪問請求,直接從連接池中得到一個(gè)連接;4)存取數(shù)據(jù)庫;5)關(guān)閉數(shù)據(jù)庫,釋放所有數(shù)據(jù)庫連接;6)釋放數(shù)據(jù)庫連接池對象(服務(wù)器停止、維護(hù)期間,釋放數(shù)據(jù)庫連接池對象,并釋放所有連接)。

4 數(shù)據(jù)庫連接池在JSP中的實(shí)現(xiàn)

JSP是一種基于JAVA的Web開發(fā)技術(shù),同JAVA一樣,JSP開發(fā)的程序也具有跨平臺(tái)性、安全性等優(yōu)點(diǎn),是目前主流的Web開發(fā)技術(shù)之一。下面就詳細(xì)描述數(shù)據(jù)庫連接池在JSP中的實(shí)現(xiàn)方法(采用的服務(wù)器是Tomcat+SqlServer2000)。

4.1 在服務(wù)器端配置數(shù)據(jù)連接池

打開$CATALINA_HOME/conf/server.xml文件,在之間寫入如下代碼:

//其中path指文件路徑,docBase指文件根目錄

/*上面給出的是配置數(shù)據(jù)庫連接池資源的參數(shù),其中:name指定資源的JNDI名字;auth指定資源的管理器;maxActive表示連接池的最大數(shù)量;maxIdle表示最大空閑連接數(shù);maxWait指最長等待時(shí)間;username表示連接數(shù)據(jù)庫的賬號(hào);password表示連接數(shù)據(jù)庫的密碼;url表示數(shù)據(jù)庫連接路徑;driverClassName表示連接數(shù)據(jù)庫的驅(qū)動(dòng)程序*/

4.2 在應(yīng)用程序中使用數(shù)據(jù)庫連接池

在應(yīng)用程序中使用數(shù)據(jù)庫連接池的代碼如下:

DataSource ds = 1;//定義一個(gè)數(shù)據(jù)源的引用

Context initCtx = new InitialContext();//初始化上下文環(huán)境

Context envCtx = (Context) initCtx.lookup(\"java:comp/env\");//查找命名服務(wù)中的根目錄

ds = (DataSource)envCtx.lookup(\"jdbc/SqlServerDB\");//取得資源名字,同時(shí)取得數(shù)據(jù)連接池的引用

Connection cn=ds.getConnection();//在數(shù)據(jù)池中取出一個(gè)連接

/*使用conn進(jìn)行數(shù)據(jù)庫SQL操作*/

cn.close();//把連接放入連接池中

5 結(jié)束語

對于簡單的數(shù)據(jù)庫應(yīng)用來說,由于對數(shù)據(jù)庫的訪問不是很頻繁,新創(chuàng)建一個(gè)連接,用完就關(guān)閉它,不會(huì)帶來什么明顯的性能上的開銷。但是對于一個(gè)復(fù)雜的數(shù)據(jù)庫應(yīng)用,情況就完全不同了,頻繁地建立、關(guān)閉連接,大大增加系統(tǒng)的開銷,極大地降低系統(tǒng)的性能[4]。而連接池技術(shù)可以改變傳統(tǒng)數(shù)據(jù)庫連接的缺陷。本文闡述數(shù)據(jù)庫連接池的概念與工作原理以及在JSP中的具體實(shí)現(xiàn)方法,實(shí)踐證明,采用數(shù)據(jù)庫連接后,大大減少了系統(tǒng)開銷,改善了Web應(yīng)用,提高了資源利用率,優(yōu)化了系統(tǒng)的性能。

參考文獻(xiàn)

[1]趙勇超,鄭寧,葛瀛龍.Java中連接池的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與研究,2004(6):219-224

[2]宋善德,郭飛.基于Java的Web數(shù)據(jù)庫連接池技術(shù)的研究[J].計(jì)算機(jī)工程與應(yīng)用,2002(8):201-206

[3]鄒雯奇,戚宇林.數(shù)據(jù)庫連接池技術(shù)在WEB系統(tǒng)開發(fā)中的應(yīng)用[J].微計(jì)算機(jī)信息,2006(22):178-179

[4]孫葉楓,宋中山.JSP中基于連接池的數(shù)據(jù)庫訪問技術(shù)[J].計(jì)算機(jī)應(yīng)用,2004(6):80-82

主站蜘蛛池模板: 99er精品视频| 日韩av在线直播| 欧美午夜性视频| 国产无码网站在线观看| 久久人搡人人玩人妻精品一| 青青草91视频| 亚洲av无码牛牛影视在线二区| 91娇喘视频| 亚洲美女高潮久久久久久久| 国产一区二区福利| 一级毛片免费高清视频| 精品成人一区二区三区电影| 国产成+人+综合+亚洲欧美| a级高清毛片| 最新亚洲人成网站在线观看| 精品久久人人爽人人玩人人妻| 国产成人综合欧美精品久久| 亚洲成aⅴ人在线观看| 国产一区成人| 久久久亚洲色| 亚洲 欧美 偷自乱 图片| 亚洲精品天堂在线观看| 国产主播在线一区| 成人久久18免费网站| 国产无码高清视频不卡| 国产成人综合日韩精品无码首页| 午夜日b视频| 人妻精品全国免费视频| 亚洲天堂伊人| 久久这里只有精品2| 71pao成人国产永久免费视频| 手机在线免费不卡一区二| 国产视频a| 精品久久久久久成人AV| 8090午夜无码专区| 国产乱视频网站| V一区无码内射国产| 91福利国产成人精品导航| 一级毛片基地| 视频二区欧美| 亚洲无限乱码| 国产综合亚洲欧洲区精品无码| 精品国产免费观看| 毛片在线区| 一本综合久久| 欧美日韩另类在线| 亚洲黄网在线| 久久公开视频| 日a本亚洲中文在线观看| 亚洲精品黄| 日韩a级片视频| 九色免费视频| 99久久国产精品无码| 污污网站在线观看| 国产原创自拍不卡第一页| 97在线公开视频| 亚洲国产一成久久精品国产成人综合| 久久久久人妻一区精品| 国产丰满大乳无码免费播放 | 国产精品免费露脸视频| 国产精品免费福利久久播放| 在线五月婷婷| 亚洲AV无码乱码在线观看代蜜桃| 国精品91人妻无码一区二区三区| 2020精品极品国产色在线观看| 亚洲网综合| 亚欧成人无码AV在线播放| 国产91全国探花系列在线播放| 中文字幕中文字字幕码一二区| 亚洲第一中文字幕| 99免费在线观看视频| 中文无码精品A∨在线观看不卡| 国产福利一区视频| 免费国产高清精品一区在线| 精品1区2区3区| 日韩小视频在线播放| 久久女人网| 欧美伦理一区| 中文字幕丝袜一区二区| 国产亚洲精品精品精品| 国产91高跟丝袜| 欧美一区二区啪啪|