複習JNDI、數據源、連接池


訪問其它資源或者文件時就要用JNDI服務來定位了,通過名字來獲得對應的對象或者服務。比如訪問,文件,數據庫等。

JNDIjava命名與目錄接口(java Naming and Directory Interface)

數據源--javax.sql..DataSource接口負責建立與數據庫的連接,在DataSource中事先建立多個數據庫連接,這些數據庫連接保存在連接池(Connection Pool)裏。


用JNDI獲得數據源對象過程:

1.配置Context.xml文件,添加<Resource/>元素;

2.配置web.xml文件,添加<resource-ref></resource-ref>

3.添加驅動。

4.編碼,使用lookup()方法獲得數據源對象。如://初始化

                                            Context ctx=new InitialContext();

                                            //獲取與邏輯名相關的數據源對象

                                            DataSource ds=(DataSource)ctx.lookup("java:comp/env/數據源名稱");

                                            //通過DataSource的getConnection()方法獲得數據連接對象。

                                            Connection conn=ds.getConnection();

                                            ...............

                                            最後不要忘記調用close()方法讓Connection回覆空閒。

                                            lookup(String name)返回與指定的名字綁定的對象。


訪問數據庫時常出的錯誤:

Cannot load JDBC driver class-沒有添加驅動


Cannot create JDBC driver of class '' for connect URL 'null'-連接路徑爲空,檢查Context.xml中的配置,確保信息正確。


Name jdbc is not bound in this Context-jdbc名字沒有綁定到當前上下文,看看lookup()和context.xml中的名字是不是一致的,並且,名稱是java:comp/env/+數據源名稱。

                                            


加油!繼續學習!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章