文档章节

java 使用tomcat的JNDI数据源

彭苏云
 彭苏云
发布于 2014/06/05 18:08
字数 324
阅读 96
收藏 0

终于有机会写一些比较基础的代码了,终于有机会在tomcat上配置jndi数据源了,但是这是一个费时间的过程。这里把这个过程记录如下。

目的:tomcat提供数据源,java代码中通过jdbc获取jndi,操作数据库。

步骤:

1、讲数据库的驱动jar放到tomcat的lib目录下,%TOMCAT_HOME%\lib

2、修改%TOMCAT_HOME%\conf目录下配置文件server.xml,增加如下内容:

<Context docBase="/securityProxyWeb" path="/securityProxyWeb" reloadable="true" debug="5" crossContext="true">
	<Resource name="jdbc/exoa" auth="Container" type="javax.sql.DataSource" maxIdle="10" initialSize="10" maxWait="10000" maxActive="20"
	driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:exoa" username="exoa" password="exoaexoa"  />
</Context>

注意上面的代码放在Host节点下面,如果读者要用的话,请修改具体的参数,username\password\url

3、web功能里面要使用tomcat的数据源,需在web.xml里面增加引用:

<resource-ref id="ResourceRef_1401952150839">
	<res-ref-name>jdbc/exoa</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>Container</res-auth>
	<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

4、获取Connection的代码如下:

/**
	 * 获取数据库连接
	 * 
	 * @return
	 * @throws Exception
	 */
	public static Connection getConnection() throws Exception {
		Context context = null;
		DataSource dataSource = null;
		try {
			context = new InitialContext();
			try{
				//TOMCAT JDK1.6
				dataSource = (DataSource) context.lookup("java:comp/env/jdbc/exoa");
			}catch(Exception E){
				E.printStackTrace();
			}
			if(dataSource == null){
				//WAS JDK1.4
				dataSource = (DataSource) context.lookup("jdbc/exoa");
			}
			
			if (dataSource == null) {
				System.err.println("打开数据库连接出错!!!");
				return null;
			}
			return dataSource.getConnection();
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

 

© 著作权归作者所有

共有 人打赏支持
彭苏云
粉丝 42
博文 204
码字总数 54255
作品 0
广州
高级程序员
私信 提问
加载中

评论(2)

彭苏云
彭苏云
没改过来的时候,执行批量操作报了“oall8 处于不一致状态”这个问题,但是改过来就没了,具体原因不详。
彭苏云
彭苏云
第二步中在server.xml中配置url时,如果数据库是集群,请使用集群的url,尽量不要使用单个实例的URL,
集群URL的写法:
jdbc:oracle:thin:@//ip:port/服务名
Spring引用Tomcat的 JTA事务

Spring引用Tomcat的 JTA事务 Tomcat是Servlet容器,但它提供了JNDI的实现,因此用户可以象在Java EE应用程序服务器中一样,在Tomcat中使用JNDI查找JDBC数据源。在事务处理方面,Tomcat本身并...

崔耀升
2010/06/12
0
0
Spring MVC 使用 JNDI 配置的DataSource

稍微看了下,Spring 中JNDI 的使用,弄了个小例子。有很多不完备的地方,以后慢慢看,再改吧。 <一> 技术使用 Spring MVC JDBC Template Maven JNDI <二> 一些配置 Maven POM 配置 spring-c...

平江夜弹
2015/06/29
0
0
Hinernate中获得数据库连接池的方式及应用

Hibernate可以与任何一种java应用的运行环境集成。Java应用的运行环境可分为两种。 (1)受管理环境(Managed environment):由容器负责管理各种共享资源(如线程池和数据库连接池),以及管理...

_守望者_
2014/04/22
0
0
在tomcat中配置JNDI数据源 .

在tomcat5.0中配置数据源(全局数据源、局部数据源),通过连接池机制连接数据库 1. odbc-jdbc桥连 2. 通过加载本地驱动连接 3. 在web应用服务器中设置数据源,通过池接技术连接数据库(加载本...

漠、
2012/05/24
0
0
[转]Spring引用Tomcat的 JTA事务

Spring引用Tomcat的JTA事务 Tomcat是Servlet容器,但它提供了JNDI的实现,因此用户可以象在Java EE应用程序服务器中一样,在Tomcat中使用JNDI查找JDBC数据源。在事务处理方面,Tomcat本身并不...

穿越星辰
2011/06/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

脚本配置java开发环境

@echo off&setlocal enabledelayedexpansion cls @echo "This script is used to registe envionment variables......" @echo. @echo. @echo. set var=%~dp0 set var=%var:~,-1% @echo "regi......

默克鱼
23分钟前
1
0
c++中友元函数理解与使用

在学习c++这一块,关于友元函数和友元类,感觉还是不好理解,但是井下心来,理解,需要把我一下几点。 首先讲友元函数。 (1)友元函数: 1)C++中引入友元函数,是为在该类中提供一个对外(除...

天王盖地虎626
今天
2
0
OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
703
11
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
5
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部