JNDI是J2EE中一个很重要的标准,通常我们是在J2EE编程中用到,Tomcat中提供了在JSP和Servelt中直接使用JNDI的方法,
主要是通过dbcp连接池,下面谈一下我在Tomcat5.5中配置和使用JNDI的方法。
在tomcat目录下的conf\Catalina\localhost\工程名字.xml
配置如下:
<Context docBase="D:\myprj\WebRoot"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
Tomcat5.5.9中数据库JNDI的名字
<!-- Link to the user database we will get roles from -->
<ResourceLink name="users" global="UserDatabase"
type="org.apache.catalina.UserDatabase"/>
<Resource name="jdbc/mysql"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.driver"
url="jdbc:mysql://localhost:3306/test"
username="root"
password="123456"
maxActive="20"
maxIdle="10"
maxWait="10000"/>
</Context>
name 表示指定的jndi名称
auth 表示认证方式,一般为Container
type 表示数据源床型,使用标准的javax.sql.DataSource
maxActive 表示连接池当中最大的数据库连接
maxIdle 表示最大的空闲连接数
maxWait 当池的数据库连接已经被占用的时候,最大等待时间
username 表示数据库用户名
password 表示数据库用户的密码
driverClassName 表示JDBC DRIVER
url 表示数据库URL地址
在工程的web.xml文件中引用我们的数据源
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
…
<resource-ref>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
获取datasource
Context initContext = new InitialContext();
if (initContext == null)
System.out.println("获取不到数据源");
Context envContext = (Context) initContext.lookup("java:comp/env/jdbc/mysql");
DataSource ds = (DataSource) envContext.lookup("jdbc/mysql"); //根据名称取得数据源
如果你使用其他数据源如DBCP数据源,需要在<Resouce 标签多添加一个属性如
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
当然你也要把DBCP相关jar包放在tomcat的lib目录下。
分享到:
相关推荐
在Tomcat配置JNDI数据源的三种方式
Tomcat配置JNDI数据源的N种方法
tomcat上配置的JNDI数据源的几种方式
自己总结的三种使用方式,对比来看选择最适合你的方式
tomcat配置jndi几个方式
TOMCAT8 JNDI对用户名和密码加密
Tomcat jndi 配置数据源过程 Tomcat jndi 配置数据源过程 Tomcat jndi 配置数据源过程 Tomcat jndi 配置数据源过程
NULL 博文链接:https://buliedian.iteye.com/blog/858026
Tomcat6.0 JNDI数据源经典实例,里面JAR包,配置文件,数据源都配置好了,sql语句已经打包好了,直接可以建表的。
自定义jndi数据源factory类,用于解密jndi中的加密数据,解密方式为DES,具体可根据实际需求修改。
tomcat中配置jndi 数据源!!!
Tomcat_5配置JNDI数据源
根据项目名自动生成 JNDI 配置文件,使程序员从手动配置JNDI数据源中解脱出来。 使用说明: 1、把“TomcatJNDI.war”文件放入 tomcat 的 webapps 文件夹下; 2、启动tomcat,在地址栏上输入:...
Tomcat中配置jndi数据源连接池(自己写的) 做过实用 没有问题
配置JNDI数据源 spring tomcat
Springmvc +JNDI 在Tomcat下 配置数据源 ... 第二种:配置全局JNDI数据源,应用到单个应用 三、 数据源配置在Tomcat/conf/ context.xml 文件或者 server.xml 文件 中的区别 四、 常见的报错及解决方案
Tomcat6+spring+jndi配置数据源说明.docx
java中使用tomcat提供的JNDI数据源
NULL 博文链接:https://zhaoshijie.iteye.com/blog/903265
详细介绍了在Tomcat中配置数据源JNDI的三种方法,其中第一种方法最好用,附带一部分源代码