亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

基于JSP技術的數據庫連接

2024-09-05 00:20:13
字體:
來源:轉載
供稿:網友
    相對于基于傳統的client/server模式的數據庫系統,web數據庫系統采用三層瀏覽器/服務器結構(即網絡瀏覽器/web服務器/數據庫服務器結構),具有極大的優勢。web數據庫系統充分發揮了dbms高效的數據存儲與管理能力,以b/s模式為平臺,將客戶端統一為web瀏覽器,為用戶提供使用簡便、內容豐富的數據庫服務,已經成為internet和intranet提供的核心服務,為internet上的電子商務提供技術支持。web數據庫系統的關鍵技術是web與數據庫的連接和訪問優化。

    web數據庫連接技術

    常見的web數據庫連接技術有:cgi技術、webapi技術、rad技術和jdbc技術等。最早出現的cgi技術得到了幾乎所有的web服務器的支持,但是存在著嚴重的缺陷,例如運行速度慢、開發困難和可移植性差等。webapi的出現克服了速度問題,但是開發更加困難。各種不同的api互不兼容,使用范圍極其受限。rad技術(快速開發技術)從根本上該改變了開發困難的現狀,但是它和特定的web服務器的依賴性很強,缺乏通用性。

    jdbc(java database connectivity)技術的最大優勢是它為所有數據庫管理系統提供一種標準接口,可以為多種關系數據庫提供統一訪問,大致可以分為以下三個部分:
    ◆ jdbc api的主要特點之一是簡單且容易掌握。它主要由接口組成而不是集成類,被包含在java.sql和javax.sql兩個包中。這些接口由提供jdbc驅動的軟件商來完成。
    ◆ jdbc驅動管理器的作用是在jdbc運行結構上,提供最基礎的指引功能,即當一個jdbc api程序進行數據庫調用時,它會選擇一個正確的jdbc驅動程序進行連接。
    ◆ jdbc驅動的作用是當jdbc api制作的程序進行數據調用時,實際連接數據庫并進行相應的處理。jdbc驅動提供jdbc api的接口類。

    jsp技術

    jsp技術的特點

    java server page(jsp)是使用java代碼動態生成html文檔的web頁面摸板。jsp運行于服務器端組件,稱為jsp容器,它將jsp轉化成等價的java servlet。正因為如此,servlet和jsp頁面最終是相關的。jsp頁面具有了servlet的所有優點,如良好的性能和擴展性,對http會話提供嵌入式支持等。同時jsp頁面還具有自身的優點,如需要時自動重新編譯和與工具具有更大的兼容性。

    jsp容器基于每個文件的時間戳自動管理jsp頁面。當對一個jsp頁面的請求發出后,容器首先判斷與.jsp文件對應的類的名字。

    如果該類不存在或比.jsp文件的老,然后容器為一個等價的servlet創建java源碼并編譯它。如果servlet實例并未運行,容器載入該servlet類并創建一個實例。最后,容器發送一個線程在載入的實例中處理當前的http請求。所以,一個jsp頁面有三種存在形式,即jsp源碼、java源碼和已編譯的java類。

    jsp元素可以分為三種:偽指令、腳本元素(包含表達式、script和聲明)和動作。其中,偽指令是指示jsp容器生成什么代碼的命令;在表達式和script中可以使用9個隱含對象;行為是創建、修改或使用對象的高層jsp元素,使用嚴格的xml語法編碼。

    利用jsp實現web與數據庫的連接

    java使用jdbc技術處理數據庫是一種綜合、通用方式,實現與數據庫的連接,執行查詢和提取數據等操作。很多關系數據庫管理系統都帶有jdbc驅動程序。具體步驟如下:

    1.完成環境設置,導入java.sql包,命令如下:


    #import java.sql.*

    2.載入驅動器

    jdbc規范依據驅動器結構將驅動器劃分為jdbc-odbc橋、純java到數據庫中間件和純java直接到數據庫幾種類型。在此,采用本地api與部分java類型驅動器,顯式創建一個如下的驅動器實例并用驅動器管理器注冊:

    drivermanager.registerdriver(new oracle.jdbc.driver.oracledriver());

    3.連接到數據庫

    驅動器管理器保留已注冊驅動器列表,調用其getconnection()方法得到connection對象。其中getconnection()的參數分別是數據庫服務器的ip地址、端口號、庫名和登錄數據庫所需的賬號與密碼,示例如下:

connection conn= dirvermanager.getconnection(
"jdbc:oracle:thin:@localhost:1521:demo","username","password");
 

    4.語句接口

    sql語言由從一個關系數據庫中創建、表示和抽取數據的語句組成。jdbc提供的這些sql語句的面向對象的表示用以封裝其文本、執行狀態和結果。這種表示稱為java.sql.statement接口。使用預編譯sql的preparedstatement和調用存儲過程的callablestatement這兩個子接口擴展了statement的功能,示例如下:
    statement stmt=conn.createstatement();

    5.獲得結果集

    一個結果集是表格行的排序列表,使用jdbc中的java.sql.resultset接口表示。結果集由statement接口的executequery()方法或一些元數據方法調用產生,示例如下:
    resultset rs=stmt.executequery(sql);

    利用連接池優化訪問效率

    在本實例中,應用層使用weblogic 6.1,數據庫層采用oracle8.1.6,客戶端使用navigate瀏覽器。

    實例

    在本實例中建立一個命名為connectionpool的連接池。connectionpool的基本屬性如下:

m_connectionpoolsize 連接池中連接數量下限;
m_connectionpoolmax 連接池中連接數量上限;
m_connectionusecount 一個連接的最大使用次數;
m_connectiontimeout 一個連接的最長空閑時間;
m_maxconnections = -1 同一時間的最大連接數;
m_timer 定時器。

    這些屬性定義了連接池與其中的每個連接的有效狀態值。

    連接池的自我管理,實際上就是通過定時地對每個連接的狀態和連接的數量進行判斷而進行相應操作。

    這里可以定義出connectionpool要完成管理所需要的基本接口,具體見下:

public class connectionpool implements timerlistener{
  public boolean initialize() //連接池初始化
  public void destroy() //連接池的銷毀
  public synchronized java.sql.connection getconnection() //取一個連接
  public synchronized void close() //關閉一個連接
  private synchronized void removefrompool() //把一個連接從連接池中刪除
  private synchronized void fillpool() //維護連接池大小
  public synchronized void timerevent() //定時器事件處理函數
}

    通過這幾個接口,已經可以完成連接池的基本管理。在timeevent()函數中完成連接池的狀態檢驗工作,fillpool()時連接池至少保持最小連接數。因為用戶要保存每一個連接的狀態,所以還需要一個數據庫連接對象見下:

class connectionobject{
  public java.sql.connection con; public boolean inuse; //是否被使用標志
  public long lastaccess; //最近一次開始使用時間
  public int usecount; //被使用次數
}

    加入了connectionobject對象后,在connectionpool中操作的應該只是connectionobject,而其它進程需要的只是connectionobject的con屬性。因此這里再加入如下一個類,作為其它進程獲得與返回連接的接口:

class conn{
  getconnection(); //從連接池中取出一個有效連接
  closeconnection(); //返回連接,此時并沒有關閉連接,只是放回了連接池
  destroypool(); //銷毀連接池
}

    目前采用jsp技術構建b/s結構的web數據庫系統是比較流行的方式,同時采用數據庫連接池的系統在效率和穩定性上比采用傳統的其它方式的系統要好得多。數據庫連接池是一種對整個系統中比較復雜的問題的一種可行的解決辦法。但在實際應用中,jdbc連接只是大型web應用系統的一小部分,數據庫連接池管理程序與web服務器、jsp引擎和rdbms引擎的管理策略都有可能發生沖突。用戶應該全面考慮系統中的各個部分,這樣才能充分發揮其高效性。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人精选亚洲人成在线| 亚洲成人久久电影| 久久久久久久国产精品视频| 成人免费激情视频| 成人欧美一区二区三区在线湿哒哒| 91深夜福利视频| 久久久久日韩精品久久久男男| 九九久久久久99精品| 少妇精69xxtheporn| 日本高清+成人网在线观看| 国内精久久久久久久久久人| 久久久久久国产三级电影| 一区二区三区高清国产| 国产精品夜色7777狼人| 亚洲黄色www网站| 久久久久九九九九| 亚洲欧美制服另类日韩| 久久亚洲国产成人| 日韩中文综合网| 亚洲日韩欧美视频| 欧美大胆在线视频| 国产欧美日韩综合精品| 国产精品美女免费看| 国产精品 欧美在线| 欧美成人亚洲成人| 日本高清不卡的在线| 国产精品久久一区| 国产成人在线播放| 久精品免费视频| 欧美高清激情视频| 精品视频一区在线视频| 亚洲成人精品视频在线观看| 日韩精品福利在线| 国产一区二区在线免费| 欧洲精品毛片网站| 亚洲精品资源在线| 欧美大片免费观看在线观看网站推荐| 久久精品中文字幕电影| 欧美性视频在线| 精品久久久一区二区| 亚洲精品视频二区| 欧洲日韩成人av| 97欧美精品一区二区三区| 91免费精品视频| 韩国国内大量揄拍精品视频| 欧美在线激情视频| 日韩av电影在线免费播放| 日本国产高清不卡| 欧美黑人性猛交| 欧美激情网站在线观看| 国产精品视频自拍| 国内揄拍国内精品少妇国语| 亚洲情综合五月天| 国产精品91久久| 日韩av在线网页| 国产成+人+综合+亚洲欧美丁香花| 正在播放欧美一区| 国产精品高清在线| 久久久女人电视剧免费播放下载| 欧美午夜久久久| 久久99视频精品| 亚洲精品电影网在线观看| 九九热r在线视频精品| 国产视频福利一区| 91精品国产自产在线观看永久| 亚洲精品在线看| 黄网动漫久久久| 成人免费xxxxx在线观看| 精品国产乱码久久久久久虫虫漫画| 亚洲国产欧美在线成人app| 国产精品网站大全| 蜜月aⅴ免费一区二区三区| 精品自拍视频在线观看| 欧美电影在线观看| 日本午夜在线亚洲.国产| 亚洲性视频网址| 欧美国产亚洲精品久久久8v| 亚洲第一区在线观看| 成人国内精品久久久久一区| 欧美最猛性xxxxx(亚洲精品)| www.美女亚洲精品| 国产激情综合五月久久| 久久精品视频免费播放| 成人两性免费视频| 日韩精品久久久久| 亚洲欧洲在线观看| 91产国在线观看动作片喷水| 亚洲美女性生活视频| 国产在线日韩在线| 亚洲一区二区日本| 欧美精品精品精品精品免费| 成人a视频在线观看| 久久亚洲精品一区| 性欧美长视频免费观看不卡| 国产精品极品美女粉嫩高清在线| 日韩精品视频在线观看免费| 日韩av在线影视| 日韩av影视在线| 中文.日本.精品| 亚洲天堂开心观看| 欧美极品少妇与黑人| 黑丝美女久久久| 亚洲国产精品资源| 国产精品7m视频| 国产精品999999| 日本午夜在线亚洲.国产| 日产精品久久久一区二区福利| 欧美成人免费全部观看天天性色| 国产成人精品a视频一区www| 亚洲最大成人网色| 欧美理论电影在线播放| 日韩美女激情视频| 久久亚洲国产精品| 97超视频免费观看| 国产人妖伪娘一区91| 久久精品美女视频网站| 国产不卡在线观看| 日韩成人中文电影| 欧美激情综合色| 欧美激情视频在线| 性欧美暴力猛交69hd| 欧美激情国产精品| 成人免费在线网址| 亚洲最大福利视频网站| 国产免费一区视频观看免费| 日韩在线一区二区三区免费视频| 精品国产乱码久久久久久虫虫漫画| 国产视频精品一区二区三区| 日韩在线视频观看| 国产精品一区电影| 日韩在线中文视频| 日韩欧美视频一区二区三区| 狠狠色狠色综合曰曰| 91sao在线观看国产| 欧美大片在线看免费观看| 国产精品视频yy9099| 欧美日韩在线视频一区| 在线精品播放av| 日韩欧美一区二区三区久久| 日韩电影在线观看中文字幕| 日韩激情av在线播放| 国产精品视频精品| 日韩在线免费观看视频| 97精品免费视频| 欧美怡红院视频一区二区三区| 亚洲国产精品专区久久| 亚洲欧美国产精品久久久久久久| 在线观看欧美日韩国产| 91久久精品美女| 国产日韩欧美视频| 亚洲一区999| 日韩av一区二区在线| 欧美高清电影在线看| 亚洲日本成人网| 26uuu另类亚洲欧美日本一| 91久久精品国产91性色| 日韩国产欧美区| 91麻豆国产精品| 久久综合国产精品台湾中文娱乐网| 深夜福利一区二区| 97视频在线观看视频免费视频| 亚洲精品国产综合久久| 日韩免费在线观看视频| 欧美日韩成人精品|