1 Tomcat下context.xml下
<Resource name="jdbc/addressbook" auth="Container"
type="javax.sql.DataSource" maxActive="100"
maxIdle="30" maxWait="10000"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/addressbook"
/>
name:指定Resource的JNDI名字
auth:指定管理Resource的Manager,它有两个可选值:
Container 和 Application ,Container表示由容器来创建
Resource,Application表示由Web应用来创建和管理Resource
type: 指定Resource所属的java类名
maxActive: 指定数据库连接池中处于活动状态的数据库连接的最大数
目,取值为0,表示不受限制。
maxIdle: 指定数据库连接池中处于空闲状态的数据库连接的最大数目
,取值为0表示不受限制。
maxWait: 指定数据库连接池中斩数据库连接处于空闲状态的最长时间
(以毫秒为单位),超过这一时间将会抛出异常,取值为
-1,表示可以无限制等待。
username: 指定连接数据库的用户名
password: 指定连接数据库口令
driverClassName: 指定连接数据库的JDBC驱动程序
url: 指定连接库的URL。
2
web.xml文件配置
在<web-app>节点下添加<resource-ref>信息,内容如下:
<web-app>
<resource-ref>
<description>E-Books DataSource</description>
<res-ref-name>jdbc/bookstore</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
//其它配置信息…………
</web-app>
<resource-ref>属性
desription:对所引用资源的说明
res-ref-name:指定所引用资源的JNDI名字,与<Resource>元素name属性对应
res-type:指定所引用资源的类名字,与<Resource>元素中的type属性对应
res-auth:指定管理所引用资源的Manager.与<Resource>元素中的auth属性对应
3.
添加数据库驱动文件
必须把JDBC驱动程序复制到Tomcat的common/lib目录下。
4.
JNDI常见错误:
(1) Connot load JDBC driver Class(不能加载驱动类)
(2) Connot create JDBC driver of class ' ' for connect URL 'null'
小结:
在使用JNDI时,可分为如下3个步骤:
(1) 配置context.xml文件(Tomcat容器)
(2) 配置web.xml文件(项目中)
(3) 进行代码编写,使用lookup()方法获得数据源对象
编码工作,请详看DAO---2编码工作