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

首頁 > 學院 > 開發設計 > 正文

WebSphere應用服務器保護電子商務應用

2019-11-18 12:43:16
字體:
來源:轉載
供稿:網友

  企業應用一般都需要連接數據庫,自從有了應用服務器之后,應用連接數據庫就可以利用數據庫連接池的方式來提高性能。基于J2EE的WEB應用一般是通過JDBC的方式來訪問數據庫,而且大部分都是通過數據源的方式來得到數據庫連接的。WebSphere應用服務器(WAS)自從3.5版本便開始支持JDBC2.0,并支持用JNDI的方式來查找數據源然后生成數據庫連接。我們在工作的過程中發現有相當多的用戶在配置和使用數據源時曾碰到各種各樣的問題。本文將介紹WAS 5.x版本中數據源的配置和使用方法,并結合實際客戶碰到的常見問題進行一些討論,以使更多用戶能在WAS上順利的配置和使用數據源。
  
  1.簡單原理和背景介紹
  1.1 什么是數據源?為什么要使用數據源?
  我們先來看一下使用JDBC1.0的時候,一般是怎樣來連接數據庫的。
  
  代碼片斷示例1:
  
  java.sql.Connection con = null;
  try {
   Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
   con = java.sql.DriverManager.getConnection("jdbc:db2:DBName");
  } catch (Exception e) {
   System.err.  }
  由于建立一個數據庫連接是一種比較耗時的操作,在使用JDBC1.0的時候,假如要提高性能就需要應用程序自己對連接進行緩存處理。但是在JDBC2.0 以一個附加的 API 的方式引入了標準連接池的特性,這個 附加的 API 叫做 JDBC 2.0 可選包(也稱作 JDBC 2.0 標準擴展)。這樣對于支持JDBC2.0的數據庫(一般是指JDBC驅動程序支持),WebSphere應用服務器提供了連接池的支持。JDBC2.0 API 為連接池提供了一個客戶端和一個服務器端的接口。 客戶端接口是 javax.sql.DataSource,通常就是應用代碼用來請求一個緩沖了的數據庫連接的東西。這個數據源就是生成數據庫連接對象的工廠。服務器接口是 javax.sql.ConnectionPoolDataSource,通常是大多數應用服務器和數據庫JDBC驅動打交道的接口。
  
  連接池可改進任何需要連接的應用程序(非凡是基于 Web 的應用程序,Web 用戶的連接和斷開更為頻繁)的響應時間。因為連接池的實現,在客戶端調用 close()方法的時候實際上并不關閉連接,而是把連接返回到一個可重用連接的連接池中給其它客戶端使用。這樣就避免了任何重復打開和關閉數據庫連接造成的開銷,并且答應大量的客戶端分享相對較少的數據庫連接,從而提高數據庫操作的性能。為了使用應用服務器提供的連接池功能,我們需要先定義相應的數據源。數據源在WebSphere應用服務器中作為資源存在,因此可以統一通過JNDI來查詢它們。
  
  使用數據源的代碼片斷示例2:
  
  try{
   javax.naming.InitialContext ctx = new javax.naming.InitialContext();
   javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("jdbc/DSName");
   java.sql.Connection con = ds.getConnection();
  }catch(javax.naming.NamingException e1){
   System.err.println("Naming-Exception: " + e1.getMessage());
  }catch (java.sql.SQLException e2) {
   System.err.println("Naming-Exception: " + e2.getMessage());
  }
  
  使用數據源的另一個好處是安全性的提高。在不使用數據源的情況下,我們一般通過下面的代碼來連接
Oracle數據庫。
  
  代碼片斷3:
  
  //裝載JDBC驅動程序
  java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  //設置數據庫連接字符串
  java.lang.String strConn = "jdbc:oracle:thin:@hostname/  //連接數據庫
  java.sql.Connection sqlConn =
  java.sql.DriverManager.getConnection(strConn,"userName","pass
Word");
  
  這種方式需要把數據庫的用戶名和口令放在程序的源代碼中。而在WebSphere應用服務器中我們可以在定義數據源的時候通過J2C認證的方式配置數據庫訪問別名,從而提升安全性。另外,這種方法也更靈活,假如數據庫用戶名或口令發生變化不需要更改應用程序代碼。
  
  1.2 WebSphere應用服務器中數據源所處的位置
  很多人在剛開始配置WebSphere應用服務器數據源時對J2C認證別名很不習慣,覺得JDBC的東西怎么會與J2C扯上關系。我們知道基于J2EE的WEB應用在與后臺EIS(企業信息系統)集成的過程中,根據EIS的不同主要有三種連接方式,分別是JDBC,JCA/J2C和JMS。從理論上講,JDBC驅動程序是可能歸納成一種非凡的JCA連接器,只不過這個連接器后面恰好連接著關系型數據庫。至于實際標準如何發展,讓我們拭目以待。下面我們看一下WebSphere應用服務器中數據庫連接及持久性治理的示意圖。
  
 WebSphere應用服務器保護電子商務應用(圖一)

  
  2.如何在WebSphere應用服務器中配置數據源
  我們首先概要的看一下在WebSphere應用服務器中配置和使用數據源所涉及的幾個環節。一般的,配置數據源的基本步驟如下:
  
  首先要確認所用的數據庫是支持JDBC2.0的,并確保我們的操作系統環境設置為支持 JDBC 2.0。這是使用 WebSphere應用服務器創建的數據源所必需的。這一點在使用UDB DB2 7.2的時候尤其要注重。
  要確定使用哪個數據源:數據源V4.0還是 V5.0 數據源。
  數據源V4.0是使用 WebSphere 舊連接治理器體系結構的 WebSphere 4.x 中的數據源,所有的 EJB1.x 模塊都必須使用此數據源。 WebSphere應用服務器5.x提供對 V4.0 的 JDBC 連接治理器模型的支持,使得 J2EE 1.2 應用程序能夠不經改變地運行。WAS 5.x 也支持J2EE 1.3的應用, J2EE 1.3 應用程序內的 EJB 2.0 模塊,WEB 2.3模塊需要使用 V5.0的JDBC 連接治理器。
  創建 JDBC 提供程序。JDBC提供程序指的是JDBC驅動程序的類型及其相應的驅動程序實現JAVA包。
  創建數據源。數據源是在提供特定 JDBC 驅動程序實現類的 JDBC 提供程序下創建的。
  綁定資源引用。J2EE 1.3標準推薦使用數據源的引用而不是直接使用數據源的名稱。
  測試連接。WebSphere應用服務器5.0.x及5.1提供了數據源配置頁面上提供了測試數據源連接的測試按鈕。
  接下來,我們對數據源配置中的最為重要的兩步,即創建 JDBC提供程序時的配置步驟和創建數據源時的配置過程進行具體描述。
  
  2.1 配置JDBC提供程序
  假如是第一次配置數據源連接,需要配置JDBC提供程序。配置JDBC提供程序的步驟如下:登錄WAS治理控制臺頁面,單擊資源 -> JDBC 提供程序 -> 選擇相應的作用域 -> 新建 -> 選擇相應的JDBC提供程序類型。
  
  2.1.1 選擇JDBC提供程序的作用域
  指定JDBC提供程序的作用域,如下圖所示。
  
 WebSphere應用服務器保護電子商務應用(圖二)

  的設置取決于實際WebSphere應用服務器的拓撲結構。一般有以下三種作用域:
  
  單元
  最常規的作用域。在“單元”作用域上定義的資源對于所有節點和服務器都是可見的,除非它們被覆蓋了。要查看單元作用域中定義的資源,不要在作用域選擇表單中指定服務器或節點名。
  
  節點
  多數資源類型的缺省作用域。在“節點”作用域上定義的資源覆蓋任何在“單元”作用域上定義的重復項,并且對于相同節點上的所有服務器都是可見的,除非它們在該節點上的服務器作用域中被覆蓋了。要查看節點作用域中定義的資源,不要指定服務器,但是要在作用域選擇表單中選擇節點名。
  
  服務器
  定義資源的最特定作用域。在“服務器”作用域上定義的資源覆蓋任何在“單元”作用域或父“節點”作用域上定義的重復資源定義,并且它們僅對于特定服務器是可見的。要查看服務器作用域中定義的資源,在作用域選擇表單中指定服務器名和節點名。
  
  以看出上面三個作用域的范圍逐漸遞減,并且同名的資源以最小范圍的為準。這個有點類似編程語言中變量的作用域。根據上面作用域的范圍的描述,在單節點的情況下,一般選用“節點”。假如只有一個應用服務器實例也可以選擇“服務器”。在多個節點構成的單元中,可以分別在每個節點上分別定義,也可以選擇“單元”作用域一次性定義。
  
  2.1.2 選擇JDBC提供程序
  使用下拉列表選擇要創建的 JDBC 提供程序類型,如下圖所示。
  
 WebSphere應用服務器保護電子商務應用(圖三)

  假如支持的 JDBC 提供程序類型列表不包含我們要使用的 JDBC 提供程序,則選擇用戶定義的 JDBC 提供程序(User-defined JDBC Provider)。假如數據源需要兩階段提交(2PC)的支持,那么在選擇JDBC驅動程序時需要選擇帶XA支持的驅動程序。請查詢 JDBC 提供程序供給商文檔以獲取特定的必需屬性信息。
  
  2.1.3 JDBC提供程序的屬性
  JDBC提供程序的常規屬性頁如下圖所示:
  
 WebSphere應用服務器保護電子商務應用(圖四)

  這個頁面中最為重要的設置是類路徑。它是指定共同組成資源提供程序類的位置路徑或 JAR 文件名的列表,也即JDBC驅動程序類包。大部分常見數據庫的JDBC驅動程序都以jar文件或zip文件的形式提供。例如 DB2 7.2的JDBC驅動程序文件名為db2java.zip,Oracle 8.1.7的JDBC驅動程序文件名為classes12.zip,Sybase 12的JDBC驅動程序文件名為jconn2.jar等。在WebSphere應用服務器5.1中,類路徑的缺省值反映了相應數據庫更新的JDBC驅動程序,例如Oracle 9i的ojdbc14.jar。類路徑缺省值中還帶有一個相應的WebSphere變量,我們可以用絕對路徑替換或定義此WebSphere變量的值。
  
  實現類名指定 JDBC 驅動程序

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品视频在线观看免费| 亚洲成人在线网| 97**国产露脸精品国产| 国产99久久精品一区二区| 国外成人性视频| 中文字幕亚洲图片| 亚洲一区制服诱惑| 亚洲国产欧美一区二区丝袜黑人| 亚洲国产女人aaa毛片在线| 欧美电影免费看| 久久影视三级福利片| 精品国产精品三级精品av网址| 国产一区二区三区久久精品| 亚洲欧美日韩久久久久久| 国产成人精品久久二区二区| 久久久久亚洲精品成人网小说| 国产成人在线亚洲欧美| 久久综合色影院| 欧美中文在线免费| 久久久免费精品| 欧美性受xxxx白人性爽| www.精品av.com| 欧美性猛交xxxx乱大交3| 国产精品国产三级国产aⅴ浪潮| 国产一区二区三区精品久久久| 国产亚洲欧美aaaa| 日韩视频免费看| 亚洲free嫩bbb| 欧美日韩免费观看中文| 午夜精品在线观看| 久久人91精品久久久久久不卡| 中文字幕欧美国内| 日韩美女主播视频| 久久人人97超碰精品888| 亚洲第一精品久久忘忧草社区| 国产a级全部精品| 亚洲国内精品在线| 国产成人精品免高潮在线观看| 精品一区二区亚洲| 日韩国产中文字幕| 97在线精品国自产拍中文| 国产欧美精品xxxx另类| 久久99精品久久久久久琪琪| 久久成年人视频| 国产小视频国产精品| 亚洲娇小xxxx欧美娇小| 欧美在线观看网站| 日韩av在线高清| 精品久久久久久久久中文字幕| 日本乱人伦a精品| 日韩精品视频三区| 91九色国产在线| 岛国av一区二区三区| 亚洲色图色老头| 国产精品视频色| 国产午夜精品全部视频播放| 欧美xxxx综合视频| 操91在线视频| 欧美性猛交xxxx黑人猛交| 成人国产精品日本在线| 欧美日韩一区二区在线| 日本在线观看天堂男亚洲| 国产亚洲欧洲高清一区| 91高潮在线观看| 秋霞午夜一区二区| 欧美成aaa人片免费看| 亚洲第一中文字幕在线观看| 欧美高清在线观看| 欧美日韩中文在线观看| 成人欧美在线视频| 日韩极品精品视频免费观看| 成人中文字幕+乱码+中文字幕| 国产不卡在线观看| 日韩精品免费在线观看| 91色琪琪电影亚洲精品久久| 91久久久久久久| 91成人在线观看国产| 亚洲热线99精品视频| 亚洲天堂影视av| 国产免费成人av| 色一情一乱一区二区| 日韩免费在线观看视频| 国产精品视频一区二区高潮| 在线播放国产一区二区三区| 中文字幕在线日韩| 亚洲精品国产精品久久清纯直播| 亚洲一二三在线| 欧美一级免费视频| 久久福利视频导航| 91av网站在线播放| 亚洲男子天堂网| 国产精品美女免费视频| 欧美在线视频网站| 色偷偷综合社区| 中文字幕日韩欧美在线| 亚洲第一精品久久忘忧草社区| 中文字幕亚洲在线| 亚洲人成网站777色婷婷| 精品久久久久久久久久ntr影视| 午夜精品久久久久久久白皮肤| 欧美在线日韩在线| 国产精品午夜视频| 欧美性xxxx极品hd满灌| 久久久久久伊人| 国产精品老牛影院在线观看| 亚洲成人精品在线| 亚洲精品综合精品自拍| 亚洲黄色免费三级| 免费97视频在线精品国自产拍| 国产精品爱啪在线线免费观看| 午夜精品一区二区三区在线播放| 欧美日韩视频免费播放| 91中文精品字幕在线视频| 国产精品久久一区主播| 一区二区av在线| 欧美在线免费视频| 在线午夜精品自拍| 欧美精品在线观看91| 国产不卡一区二区在线播放| 国产成人鲁鲁免费视频a| 日韩视频精品在线| 北条麻妃久久精品| 在线亚洲午夜片av大片| 中文字幕精品国产| 97人人模人人爽人人喊中文字| 国产精品色午夜在线观看| 成人免费福利视频| 日韩亚洲国产中文字幕| 欧美成aaa人片免费看| 77777亚洲午夜久久多人| 中国日韩欧美久久久久久久久| 久久久国产精品亚洲一区| 久久久av一区| 日韩欧美精品网站| 日韩成人中文字幕| 亚洲国产精品大全| 欧美中文字幕在线| 超碰97人人做人人爱少妇| 91天堂在线视频| 91精品国产自产在线观看永久| 欧美日韩国产专区| 久久久最新网址| 欧美性猛交xxxx乱大交蜜桃| 91chinesevideo永久地址| 国产精品久久av| 国产午夜精品麻豆| 国产精品免费一区豆花| 成人在线免费观看视视频| 午夜精品国产精品大乳美女| 国产91精品久久久久久久| 久久中文字幕在线视频| 欧美日韩国产影院| 欧美老肥婆性猛交视频| 国产视频观看一区| 日韩在线视频免费观看| 欧美一级片在线播放| 久久久久久久久久久成人| 亚洲美女久久久| 久久精品国产欧美激情| 美女少妇精品视频| 国产精品日韩欧美大师| 国产精品美女www| 欧美成人免费在线视频| 亚洲国产天堂久久综合网|