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

基于JSP的數(shù)據(jù)庫開發(fā)技術(shù)研究

2011-03-06 09:16:58楊馥顯劉嘉勇
通信技術(shù) 2011年3期
關(guān)鍵詞:頁面數(shù)據(jù)庫效率

楊馥顯,劉嘉勇

(四川大學(xué) 電子信息學(xué)院,四川 成都 610064)

0 引言

JSP技術(shù)作為一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)[1],與其他傳統(tǒng)開發(fā)技術(shù)相比,在易用性、效率、安全性和可移植性[2]方面都有很好的表現(xiàn)。在 Web開發(fā)應(yīng)用中,與數(shù)據(jù)庫的交互是整個(gè)開發(fā)過程中非常重要的一個(gè)部分。JSP訪問數(shù)據(jù)庫主要是使用JDBC連接技術(shù)來實(shí)現(xiàn)。在Web環(huán)境中,如果有大量的用戶頻繁的訪問數(shù)據(jù)庫,那么 JSP和數(shù)據(jù)庫之間交互效率將是整個(gè)Web應(yīng)用中很重要的一個(gè)問題。這里針對(duì)JSP使用JDBC訪問數(shù)據(jù)庫時(shí)的效率問題,提出并實(shí)現(xiàn)了數(shù)據(jù)庫連接池的技術(shù)。

1 JSP技術(shù)簡(jiǎn)介

JSP是Java Server Pages的縮寫,是由Sun公司倡導(dǎo),于1999年推出,正日益成為開發(fā)Web動(dòng)態(tài)網(wǎng)站的重要而快速有效地開發(fā)技術(shù)。JSP充分利用了Java技術(shù)的優(yōu)勢(shì),具有極強(qiáng)的擴(kuò)展能力和良好的收縮性,與開發(fā)平臺(tái)無關(guān),這源于Java的“一次編寫,到處運(yùn)行”[3]的特點(diǎn),同時(shí)也是一項(xiàng)安全的技術(shù)。它具有良好的動(dòng)態(tài)頁面與靜態(tài)頁面分離的能力,編譯后運(yùn)行,因而正逐漸成為因特網(wǎng)開發(fā)的主流技術(shù)。

2 JDBC技術(shù)

在基于JSP開發(fā)的Web系統(tǒng)中,JDBC是程序員和數(shù)據(jù)庫打交道的主要途徑,它提供了完備的數(shù)據(jù)庫操作方法接口。JDBC[4]的全稱為Java DataBase Connection, 是一套面向?qū)ο蟮膽?yīng)用程序接口(API),制定了統(tǒng)一的訪問各類關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)接口,為各個(gè)數(shù)據(jù)庫廠商提供了標(biāo)準(zhǔn)接口的實(shí)現(xiàn)。通過使用JDBC技術(shù),開發(fā)人員可以用純Java語言和標(biāo)準(zhǔn)的SQL語句編寫完整的數(shù)據(jù)庫應(yīng)用程序,并且真正的實(shí)現(xiàn)了軟件的跨平臺(tái)性。

3 JDBC數(shù)據(jù)庫訪問機(jī)制的實(shí)現(xiàn)

JDBC是Java應(yīng)用程序和數(shù)據(jù)庫溝通的橋梁,通過JSP程序完成與數(shù)據(jù)庫的連接,執(zhí)行相應(yīng)的數(shù)據(jù)庫操作。程序訪問數(shù)據(jù)庫時(shí),通過JDBC Driver Manager調(diào)度取得與要訪問的數(shù)據(jù)庫對(duì)應(yīng)的 JDBC Driver,建立與數(shù)據(jù)庫的連接,然后傳送SQL語句,數(shù)據(jù)庫處理SQL語句以及返回處理的結(jié)果。最后,關(guān)閉數(shù)據(jù)庫的連接。這個(gè)訪問機(jī)制的實(shí)現(xiàn)過程可以用如圖1總結(jié)表示[5]。

圖1 JDBC數(shù)據(jù)庫訪問機(jī)制

下面是作者在具體試驗(yàn)中,使用 JDBC連接數(shù)據(jù)庫的方法,其中用到的數(shù)據(jù)庫是MYSQL5.1,數(shù)據(jù)庫名為project_1,數(shù)據(jù)庫用戶名為root,密碼為1234:

雖然用這種方法成功的連接了數(shù)據(jù)庫并繼續(xù)進(jìn)行下一步操作,但是上面使用JDBC訪問數(shù)據(jù)庫時(shí),每一次Web請(qǐng)求都要建立一次數(shù)據(jù)庫連接、建立連接是一個(gè)費(fèi)時(shí)的活動(dòng),每次都得花費(fèi)0.05~1s的時(shí)間[6],而且系統(tǒng)還要分配內(nèi)存資源。這個(gè)時(shí)間對(duì)于一次或幾次數(shù)據(jù)庫操作,或許感覺不出有多大的開銷。可是如果需要頻繁的和數(shù)據(jù)庫交互,則數(shù)據(jù)庫連接操作勢(shì)必占用很多的系統(tǒng)資源,而且網(wǎng)站的響應(yīng)速度必定下降,嚴(yán)重的甚至?xí)斐煞?wù)器的崩潰。不幸的是,在筆者實(shí)際項(xiàng)目實(shí)現(xiàn)中,需要和數(shù)據(jù)庫頻繁的交互。在數(shù)據(jù)庫訪問過程中,數(shù)據(jù)量稍微一大,網(wǎng)站響應(yīng)速度就會(huì)明顯慢下來。為了提高訪問效率,筆者使用了數(shù)據(jù)庫連接池技術(shù)。

4 數(shù)據(jù)庫連接池技術(shù)及其實(shí)現(xiàn)

為了解決 JDBC數(shù)據(jù)庫連接時(shí)的效率下降、耗時(shí)多的缺陷,筆者提出并使用了數(shù)據(jù)庫連接池技術(shù)。在JSP中,把連接池技術(shù)和 JDBC結(jié)合起來使用,就能極大的提高數(shù)據(jù)庫的訪問效率[7]。

連接池的概念是:連接池允許應(yīng)用程序從連接池中獲得一個(gè)連接并使用這個(gè)連接,而不需要為每一個(gè)連接請(qǐng)求重新建立一個(gè)連接。一旦一個(gè)新的連接被創(chuàng)建并且放置在連接池中,應(yīng)用程序就可以重復(fù)使用這個(gè)連接而不必實(shí)施整個(gè)數(shù)據(jù)庫連接創(chuàng)建過程。當(dāng)應(yīng)用程序請(qǐng)求一個(gè)連接時(shí),連接池為該應(yīng)用程序分配一個(gè)連接而不是重新建立一個(gè)連接; 當(dāng)應(yīng)用程序使用完連接后,該連接被歸還給連接池而不是直接釋放。

數(shù)據(jù)庫連接池的基本思想就是為數(shù)據(jù)庫連接建立一個(gè)“緩沖池”。預(yù)先在緩沖池中放入一定數(shù)量的連接,當(dāng)需要建立數(shù)據(jù)庫連接時(shí),只需從“緩沖池”中取出一個(gè),使用完畢之后再放回去。可以通過設(shè)定連接池最大連接數(shù)來防止系統(tǒng)無盡的與數(shù)據(jù)庫連接。更為重要的是可以通過連接池的管理機(jī)制監(jiān)視數(shù)據(jù)庫的連接的數(shù)量、使用情況,為系統(tǒng)開發(fā)、測(cè)試及性能調(diào)整提供依據(jù)。連接池的基本工作原理如圖 2所示。

圖2 數(shù)據(jù)庫連接池基本工作原理[8]

在實(shí)驗(yàn)過程中所用的服務(wù)器為 TOMBAT6.0。為了實(shí)現(xiàn)數(shù)據(jù)庫連接池只需要做以下配置工作:

在實(shí)際 Web應(yīng)用系統(tǒng)的 WebRoot目錄下,新建一個(gè)META-INF的目錄(假如不存在),在該目錄下創(chuàng)建一個(gè)context.xml文件,并且在context.xml文件中添加以下的配置信息:

其中, name 表示指定的 jndi名稱;auth 表示認(rèn)證方式,一般為Container;type 表示數(shù)據(jù)源床型,使用標(biāo)準(zhǔn)的javax.sql.DataSource;maxActive 表示連接池當(dāng)中最大的數(shù)據(jù)庫連接;maxIdle 表示最大的空閑連接數(shù);maxWait當(dāng)池的數(shù)據(jù)庫連接已經(jīng)被占用的時(shí)候,最大等待時(shí)間;username 表示數(shù)據(jù)庫用戶名;password 表示數(shù)據(jù)庫用戶的密碼;driverClassName表示JDBC DRIVER;url表示數(shù)據(jù)庫URL地址。

除此之外,需要在應(yīng)用程序下的web.xml中的<web-app></web-app>之間加入:

至此,在應(yīng)用中已經(jīng)配置好了數(shù)據(jù)庫的連接池。這里有很重要的一點(diǎn)就是context.xml下的Resource name和web.xml下的<res-ref-name>一定要相同。在筆者項(xiàng)目系統(tǒng)中,為了提高數(shù)據(jù)庫代碼的可重用性[9],筆者用JavaBean封裝數(shù)據(jù)庫連接代碼:

在JSP頁面通過調(diào)用JavaBean實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的訪問。首先,引用該JavaBean的類:

與數(shù)據(jù)庫交互時(shí),只需要在JSP頁面執(zhí)行以下操作:

在實(shí)現(xiàn)了連接池之后,整個(gè)系統(tǒng)的運(yùn)行效率有了顯著地提高。滿足了實(shí)際工作中的需要。

5 結(jié)語

這里簡(jiǎn)單介紹了基于JSP的 Web應(yīng)用系統(tǒng)中使用JDBC操作連接數(shù)據(jù)庫的相關(guān)知識(shí)。并且結(jié)合實(shí)際項(xiàng)目系統(tǒng)中訪問數(shù)據(jù)庫低效率、性能低下無法滿足日益增長(zhǎng)地訪問請(qǐng)求的缺點(diǎn),提出了JSP 和數(shù)據(jù)庫連接池技術(shù)相結(jié)合的方法,可以使系統(tǒng)的性能明顯得到提高,并在實(shí)際工作中運(yùn)用了連接池技術(shù),提高了數(shù)據(jù)庫訪問效率。

[1] 吳佳,李建民,林振榮.基于JSP的科研成果管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),2008,41(08):210-212.

[2] 韓建寧,高波.數(shù)據(jù)庫連接池在動(dòng)態(tài) Web網(wǎng)頁開發(fā)中的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2009(04):7-9.

[3] 王炎.淺析 JSP技術(shù)在動(dòng)態(tài)網(wǎng)頁技術(shù)中的應(yīng)用[J].商場(chǎng)現(xiàn)代化,2009(07):18.

[4] 明日科技.JSP開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007.

[5] 孫衛(wèi)琴.Tomcat 與Java Web開發(fā)技術(shù)詳解[M].北京:電子工業(yè)出版社,2009.

[6] 劉京華.Java Web整合開發(fā)王者歸來(JSP+Servlet+Struts+Hibernate+Spring)[M].北京:清華大學(xué)出版社,2010.

[7] 李亞平.JSP和數(shù)據(jù)庫連接池在MVC模式中的應(yīng)用[J].電腦知識(shí)與技術(shù),2009(12):3056,3062.

[8] 李平.基于JSP的動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù)[J].微計(jì)算機(jī)信息,2009(21):108-110.

[9] 石國河.網(wǎng)頁設(shè)計(jì)中 JSP和 ASP技術(shù)的應(yīng)用[J].通信技術(shù),2010,43(02):98-100,104.

猜你喜歡
頁面數(shù)據(jù)庫效率
大狗熊在睡覺
刷新生活的頁面
提升朗讀教學(xué)效率的幾點(diǎn)思考
甘肅教育(2020年14期)2020-09-11 07:57:42
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
跟蹤導(dǎo)練(一)2
“錢”、“事”脫節(jié)效率低
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 国产乱子伦精品视频| 亚洲天堂久久久| 欧美有码在线| 国产美女在线免费观看| 亚洲无码不卡网| 亚洲男人天堂网址| 国产午夜精品一区二区三| 国产欧美日韩专区发布| 国产成熟女人性满足视频| 亚洲欧美自拍视频| 久久毛片免费基地| 欧美在线三级| 国产理论精品| 熟女日韩精品2区| 91成人试看福利体验区| 久久情精品国产品免费| 福利片91| 国内精品伊人久久久久7777人| 最新国产在线| 日韩AV无码免费一二三区| 自拍偷拍一区| 天天综合网亚洲网站| 91麻豆国产视频| 88国产经典欧美一区二区三区| 3344在线观看无码| 国产精品自拍合集| 制服丝袜在线视频香蕉| 亚洲另类国产欧美一区二区| 国产真实二区一区在线亚洲| 日韩中文精品亚洲第三区| 亚洲大尺度在线| 国产原创第一页在线观看| 18黑白丝水手服自慰喷水网站| 91小视频版在线观看www| 国产麻豆va精品视频| 欧美在线观看不卡| 国产精品免费电影| 亚洲大尺码专区影院| 亚洲中文字幕无码mv| 欧美中出一区二区| 国产真实自在自线免费精品| 日韩欧美中文在线| 亚洲区一区| 欧美午夜精品| 日韩高清欧美| 日本精品影院| 毛片手机在线看| 欧美亚洲一二三区| 免费A级毛片无码无遮挡| 亚洲欧洲日本在线| 国禁国产you女视频网站| 欧美不卡二区| 亚洲全网成人资源在线观看| 美女被操91视频| av午夜福利一片免费看| 国产免费久久精品99re丫丫一| 韩日免费小视频| 真实国产乱子伦高清| 久久无码高潮喷水| 亚洲av综合网| 丝袜无码一区二区三区| 色有码无码视频| 国产在线八区| 精品乱码久久久久久久| 亚洲国产成人久久精品软件| 无码免费的亚洲视频| 亚洲视频三级| 国产成人1024精品下载| 国产精品免费电影| 国产无码网站在线观看| 国产主播喷水| 456亚洲人成高清在线| 色老二精品视频在线观看| 久热这里只有精品6| 久久久波多野结衣av一区二区| 亚洲黄网在线| 国产成人精品亚洲77美色| 亚洲天堂网在线观看视频| 日韩在线播放欧美字幕| 色香蕉影院| 色综合天天视频在线观看| 韩日无码在线不卡|