本篇內(nèi)容介紹了“JSP數(shù)據(jù)庫(kù)鏈接的方式”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)專(zhuān)注于臨潼網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供臨潼營(yíng)銷(xiāo)型網(wǎng)站建設(shè),臨潼網(wǎng)站制作、臨潼網(wǎng)頁(yè)設(shè)計(jì)、臨潼網(wǎng)站官網(wǎng)定制、小程序定制開(kāi)發(fā)服務(wù),打造臨潼網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供臨潼網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
用Jdbc-odbc橋來(lái)連接,不過(guò)這可是犧牲了速度來(lái)的。用Jdbc-odbc橋的話(huà),和連接access是一樣的,先要設(shè)置一個(gè)數(shù)據(jù)源DNS,然后就用:
◆Class.forName("sun.Jdbc.odbc.JdbcOdbcDriver");
◆Connection conn=DriverManager.getConnection("Jdbc:odbc:strurl",”
◆username”,”password”);
進(jìn)行數(shù)據(jù)庫(kù)的鏈接是比較耗時(shí)的,如果頻繁刷新頁(yè)面,那就會(huì)不停的訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),大大耗去了數(shù)據(jù)庫(kù)的資源。JSP提供了這樣一對(duì)函數(shù),JSP Init(),JSP Destory();如果要在JSP網(wǎng)頁(yè)開(kāi)始執(zhí)行時(shí),進(jìn)行某些數(shù)據(jù)的初始化,則可以利用JSP Init函數(shù)來(lái)完成。此函數(shù)將在JSP網(wǎng)頁(yè)被執(zhí)行時(shí)調(diào)用,且當(dāng)JSP網(wǎng)頁(yè)重新整理時(shí),并不會(huì)被再度執(zhí)行。當(dāng)關(guān)閉服務(wù)器時(shí),JSP Destory函數(shù)將被調(diào)用,可利用該函數(shù)來(lái)完成數(shù)據(jù)的善后處理。
可以利用JSP Init和JSP Destory函數(shù)來(lái)完成數(shù)據(jù)庫(kù)的鏈接和關(guān)閉。在JSP Init中進(jìn)行數(shù)據(jù)庫(kù)的鏈接,可以避免每次刷新頁(yè)面時(shí)都要鏈接數(shù)據(jù)庫(kù),提高了工作效率。
以下是代碼實(shí)例:
<%! Connection conn=null; Statement st=null; ResultSet rs=null; Public void jspInit() { Try { //加載驅(qū)動(dòng)程序類(lèi) Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); //連接數(shù)據(jù)庫(kù) Connection conn=DriverManager.getConnection("jdbc:odbc:strurl",” username”,”password”); //建立Statement對(duì)象 St=conn.CreateStatement(); } Catch(Exception ex) { System.out.println(ex.toString()); } } Public void jspDestroy() { try { rs.close(); st.,close(); conn.close(); } catch(Exception ex) { System.out.println(ex.toString()); } } %>
當(dāng)JSP網(wǎng)頁(yè)從數(shù)據(jù)庫(kù)中取得數(shù)據(jù)時(shí),最耗費(fèi)服務(wù)器時(shí)間的是建立數(shù)據(jù)庫(kù)鏈接。用JSP Init
和JSP Destory函數(shù)并不是非常好的辦法,畢竟每瀏覽一次新網(wǎng)頁(yè),就要建立數(shù)據(jù)庫(kù)鏈
接。這個(gè)時(shí)候可以為一個(gè)聯(lián)機(jī)者建立一個(gè)數(shù)據(jù)庫(kù)鏈接。這里我們利用Bean對(duì)象來(lái)建立數(shù)
據(jù)庫(kù)鏈接。
以下是代碼實(shí)例:
conn.java //定義bean所屬的套件 package com.test; import java.io.*; import java.sql.*; import javax.servlet.http.*; public class conn implements HttpSessionBindingListener { private Connection con=null; public conn() //在構(gòu)造函數(shù)中完成數(shù)據(jù)庫(kù)鏈接 { BulidConnection(); } private void BulidConnection() { try { //載入驅(qū)動(dòng)程序 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(java.lang.ClassNotFoundException e1) { System.out.println("數(shù)據(jù)庫(kù)驅(qū)動(dòng)加載失敗
"); } try { //建立數(shù)據(jù)庫(kù)鏈接 con=DriverManager.getConnection("jdbc:odbc:test","test","test"); } catch(SQLException e2) { System.out.println("數(shù)據(jù)庫(kù)連接失敗"); } } //取得Connection對(duì)象 public Connection getConnection() { if(con==null) BulidConnection(); return this.con; } public void close() { try { con.close(); con=null; } catch(SQLException sex) { System.out.println(sex.toString()); } } //當(dāng)物體加入session時(shí),將自動(dòng)執(zhí)行此函數(shù) public void valueBound(HttpSessionBindingEvent event){} //當(dāng)session對(duì)象刪除時(shí),將自動(dòng)執(zhí)行此函數(shù) public void valueUnbound(HttpSessionBindingEvent event) { if(con!=null) close();//調(diào)用close方法 } }
“JSP數(shù)據(jù)庫(kù)鏈接的方式”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!