tomcat下的jndi简单配置
来源:互联网 发布:python编程入门经典 编辑:程序博客网 时间:2024/05/18 03:53
整理版
1.相关包
1、Javax.naming:包含了访问命名服务的类和接口。例如,它定义了Context接口,这是命名服务执行查询的入口。
2、Javax.naming.directory:对命名包的扩充,提供了访问目录服务的类和接口。例如,它为属性增加了新的类,提供了表示目录上下文的DirContext接口,定义了检查和更新目录对象的属性的方法。
3、Javax.naming.event:提供了对访问命名和目录服务时的事件通知的支持。例如,定义了NamingEvent类,这个类用来表示命名/目录服务产生的事件,定义了侦听NamingEvents的NamingListener接口。
4、Javax.naming.ldap:这个包提供了对LDAP 版本3扩充的操作和控制的支持,通用包javax.naming.directory没有包含这些操作和控制。
5、Javax.naming.spi:这个包提供了一个方法,通过javax.naming和有关包动态增加对访问命名和目录服务的支持。这个包是为有兴趣创建服务提供者的开发者提供的。
2.常用方法:
void bind(String sName,Object object);――绑定:把名称同对象关联的过程
void rebind(String sName,Object object);――重新绑定:用来把对象同一个已经存在的名称重新绑定
void unbind(String sName);――释放:用来把对象从目录中释放出来
Object lookup(String sName);――查找:返回目录中的一个对象
void rename(String sOldName,String sNewName);――重命名:用来修改对象名称绑定的名称
NamingEnumeration listBinding(String sName);――清单:返回绑定在特定上下文中对象的清单列表
3.配置tomcat的JNDI
方式1:自建context.xml写配置
a.拷贝数据库驱动jar包到Tomcat\lib目录下b.在应用的META-INF目录下建立一个名称为context.xml的配置文件;
注意:名字必须为context.xml,否则报错:
javax.naming.NameNotFoundException: Name [jdbc/test] is not bound in this Context. Unable to find [jdbc].
如下配置:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
maxActive="30"
maxIdle="10"
maxWait="10000" />
</Context>
c.新建jsp,启动tomcat
<body>
<%--获取数据源 --%>
<%
Context context = new InitialContext();
//Context context1 = (Context) context.lookup("java:comp/env");
//DataSource data = (DataSource) context1.lookup("jdbc/test");
//等价如下:
DataSource data = (DataSource) context.lookup("java:comp/env/jdbc/test");
Connection con = data.getConnection();
//System.out.print(con);
//jdbc:mysql://localhost:3306/test, UserName=root@localhost, MySQL-AB JDBC Driver
System.out.print(con.getClass().getName());
//org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
%>
</body>
其配置只对当前应用有效!方式2:
在tomcat的context.xml下直接加入配置信息!
在\tomcat7.0.57\conf下的context.xml下加入:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
maxActive="30"
maxIdle="10"
maxWait="10000" />
</Context>
特点:对所有的应用有效;
方式3:
在server.xml加入配置信息,然后在context.xml下引用配置信息
先在Tomcat的server.xml中GlobalNamingResources节点,在节点下加一个全局数据源
<Context>
<Resource name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
maxActive="30"
maxIdle="10"
maxWait="10000" />
a.全局引用
找到Tomcat的context.xml,在Context节点下加一个ResourceLink节点对第一步配置的数据源进行引用这个XML配置文件的根节点就是<Context>
<Context>
<ResourceLink name="jdbc/test" global="jdbc/test" type="javax.sql.DataSource"/>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Context>
这里也是对全局应用的;
b.局部引用
如果想让某一个项目想要引用这个全局的JNDI,就需要在项目的META-INF下面手动建立context.xml文件,在里面写上:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<ResourceLink name="jdbc/test" global="jdbc/test" type="javax.sql.DataSource"/>
</Context>
这样就可以在程序里面通过context.lookup("java:comp/env/jdbc/test")进行访问了。
4.说明
java:comp/env/是一个J2EE环境的定义,代表当前J2EE应用的环境,只有在容器管理的web应用中才有效!
JBoss,Weblogic,websphere等服务器在管理界面可以直接添加JNDI数据源;
- tomcat下的jndi简单配置
- tomcat下的JNDI配置
- tomcat 下jndi配置
- Tomcat下配置JNDI
- tomcat 下配置jndi
- tomcat下jndi的全局配置方式
- tomcat JNDI 的配置
- 在Tomcat下配置jndi
- spring配置下通过tomcat的jndi服务连接数据库
- spring下tomcat使用weblogic配置的jndi数据源
- Tomcat 6下配置使用Proxool的JNDI 连接池
- tomcat下JNDI的配置和读取方法
- tomcat下jndi的三种配置方式
- tomcat下jndi的三种配置方式
- tomcat下jndi的三种配置方式
- tomcat下jndi的三种配置方式
- Tomcat下配置JNDI数据源的三种方法
- Tomcat下配置JNDI数据源的三种方法
- Fiddler Web Debugger工具 模拟http请求
- 同源安全策略
- Unity游戏逻辑服务器实践
- 解析如何通过SQLServer的数据库邮件来发送邮件
- 安装fir cli报错 Error: Operation not permitted - /usr/bin/***
- tomcat下的jndi简单配置
- ECharts
- 面试iOS工程师
- category使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性
- java static锁和非static锁区别
- 擒贼先擒王--并查集
- STL find_if应用及其他
- Cocos2d-x之多分辨率屏幕适配
- RTAI安装与配置