1. 程式人生 > >tomcat + JNDI 數據源的簡單示例

tomcat + JNDI 數據源的簡單示例

技術分享 庫服務器 data 很多 圖片 cti pps 統一 inter

今天是實習生入職第二天,分配了一個任務,寫一個tomcat下配置JNDI數據源的說明文檔,因為之前沒接觸過(一直使用的是C3P0連接池),所以踩了很多坑,現在總結出一個簡單的小示例,以作記錄

首先說,JDBC(Java DataBase Connectivity)與JNDI(Java Naming and Directory Interface)的區別:

JDBC以一種統一的方式來對各種各樣的數據庫進行存取,為開發人員隱藏了不同數據庫的不同特性,開發人員可以通過一些簡單的配置就可以直接調用連接而不用去處理數據庫連接的細節,也可以采用數據庫連接緩沖池(Connect Pool)優化數據庫連接。

JNDI被用於執行名字和目錄服務。在JNDI中,目錄結構的每一個結點稱為Context。每一個JNDI的名字都是相對於Context的。應用可以通過這個初始化的Context來定位它所需要的資源和對象。

JNDI相對於JDBC來說是它的靈活性,因為如果使用JDBC,在使用的過程中,如果需要修改數據庫服務器,就需要修改相對應的用戶名和口令,由此引發對應的URL也需要修改,而這些修改都需要在配置文件中進行配置,而一旦修改了配置文件就需要重新啟動項目來使新的配置生效;還有一個問題就是如果改用其他的數據庫產品,對應的JAR包都需要改變,這樣來說JDBC顯然使很難滿足這些需求的。

JNDI只需要在配置文件中提前將可能用到的數據庫的配置信息,配置到配置文件中(相應的JAR包也需要放在Tomcat目錄下的lib文件夾下),然後交友J2EE容器來配置和管理,開發者只需要對這些配置和管理進行引用即可,相對來說更加靈活。還有一個好處就是JDBC的配置文件和程序的文件使放在一起的耦合性較高,而JNDI的配置文件是放在J2EE容器中的,大大降低了耦合性,相對來說獨立性更高。

具體配置如下:

1、配置數據源

  在項目的webapps目錄文件下的META_INF文件夾下創建一個名為context.xml文件,用來配置資源

  技術分享圖片

2、在程序中引用數據源

技術分享圖片

3、簡單的Jsp頁面(因為數據庫的數據源存放在tomcat容器中,所以必須啟動tomcat容器才可以進行測試,一下方法是最簡單的測試小Demo)

技術分享圖片

4、測試結果截圖

Jsp頁面:

技術分享圖片

後臺輸出 :

false

至此,Demo完成

註:需要的JAR包

jstl-1.2.jar

standard-1.1.2.jar

這倆是放在WEB-INF文件夾下的lib中(需要add to build path)

tomcat + JNDI 數據源的簡單示例