`
JavaSam
  • 浏览: 936296 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JNDI 配置方法

    博客分类:
  • JNDI
 
阅读更多

JNDI 配置方法

<第一步>---context.xml 文件的配置

 首先打开tomcat5.5 文件夹 C:\Program Files\Tomcat 5.5\conf 这是我的 tomcat 本机路径 在 conf 里有一个 context.xml 打开它,接着在<Context>....</Context>节点中添加 JNDI 配置文件<Resource..../>

 例如

<!--addressBook 数据库 配置 JNDI --> 

<Resource

 name="jdbc/addressBook"

 auth="Container"

 type="javax.sql.DataSource"

 maxActive="100"

 maxIdle="30"

 maxWait="10000"

 username="sa"

 password="luhaifeng"

 driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"

 url="jdbc:sqlserver://localhost:1433;databaseName=addressBook"

/>

 <Resource.../>里的属性介绍:

name: 指定 Resource 的 JNDI 名字

auth: 指定管理 Resource 的 Manager,它有两个可选值:Container 和 ApplicationContainer 表示由容器来创建 Resource,Application 表示由 Web 应用来创 建和管理Resource

 type: 指定 Resource 所属的 Java 类名

maxActive: 指定数据库连接池中处于活动状态的数据库连接的最大数目,取 值为 0,表示不受限制

maxIdle: 指定数据库连接池中处于空闲状态的数据库连接的最大数目,取 值为 0,表示不受限制

maxWait: 指定数据库连接池中的数据连接处于空闲状态的最长时间(以毫秒 为单位),超过这一时间将会抛出异常。 取值为-1,表示可以无限制等待

username: 指定连接数据库的用户名

password: 指定连接数据库的口令

driverClassName: 指定连接数据库的 JDBC 驱动程序

url: 指定连接数据库的 URL 

<第二步>-----web.xml 文件的配置

 配置好了 context.xml 后,我们现在就要配置我们自己项目中的 web.xml 文件了打开项目中WEB-INF\web.xml 文件中的<web-app>节点下添加 JNDI 配置文件

 <resource-ref>....</resource-ref>

 例如:

 <!--addressBook 数据库 配置 JNDI -->

 <resource-ref>

 <description>addressBook DataSource</description>

 <res-ref-name>jdbc/addressBook</res-ref-name>

 <res-type>javax.sql.DataSource</res-type>

 <res-auth>Container</res-auth>

 </resource-ref>

 <resource-ref.../>里的属性介绍:

description: 对所引用资源的说明

res-ref-name: 指定所引用资源的 JNDI 名字<Resource>元素中的 name 属性 对应

res-type: 指定所引用资源的类名字,<Resource>元素中的 type 属性对应

res-auth: 指定管理所引用资源的 Manager,<Resource>元素中的 auth 属性对应

 <第三步>-----添加数据库驱动文件 通过数据源访问数据库,由于数据源有 Tomcat 创建并维护,所以必须把 JDBC 驱动 程序复制到 Tomcat 的 common\lib 目录下面,*注意*Tomcat6.0 下没有 common 文 件,所有直接将 JDBC 驱动程序放在 lib 文件夹里。

 <第四步>-----在程序里获取 Connection 对象

 由于 DataSource 对象由 Web 容器(Tomcat)提供,因此不能在程序中采用创建一 个实例的方法来生成 DataSource 对象,而需要采用 Java 的另一个技术

 JNDI(Java Naming and Directory Interface),来获得 DataSource 对象。

 javax.naming.Context 提供了查找 JNDI Resource 的接口,

 例如,可以通过一下代码获得名称为jdbc/addressBook 的数据源的引用:

 Context ctx=new InitialContext();

 DataSource ds=(DataSource)ctx.loopup("java:comp/env/jdbc/addressBook");

 得到了 DataSource 对象后, 可以通过 DataSource 的 getConnection()方法来获得数 据库连接对象 Connection

 Connection conn=ds.getConnection();

 lookup(String name) -----返回与指定的名字绑定的对象

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics