复习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/+数据源名称。

                                            


加油!继续学习!

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