Tomcat (7.0)数据源配置
来源:互联网 发布:大数据 crm 系统架构 编辑:程序博客网 时间:2024/06/06 20:58
在Tomcat这个Java Web容器下通过配置DataSource(数据源)对象可以解决上面所述的问题。JDBC中的javx.sql.DataSource接口负责建立于数据库的连接,程序中直接从数据源中获取数据库连接。DataSource对象由Servlet容器Tomcat进行管理,其实获取数据库连接是从连接池中选取空闲连接。它基于Java中的JNDI(Java 命名与目录接口)来实现。
一、所有项目共用一个连接池
1、配置数据源context.xml:
在tomcat 的conf 目录下有context.xml 文件,这个文件就是配置数据源的。
在tomcat->conf->context.xml文件配置内容:
<Resource
name="jdbc/mysql"
auth="Container"
type="javax.sql.DataSource"
maxActive="20"
maxIdel="10"
maxWait="1000"
username="root"
password="admin"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/user" >
</Resource>
将 jdbc 驱动添加到Tomcat 的lib 目录下
2、配置JNDI资源引用web.xml:
<resource-ref> <res-ref-name>jdbc/mysql</res-ref-name> <res-type>javax.sql.DataSource </res-type> <res-auth>Container</res-auth> </resource-ref>
使用相对简单些的JNDI资源访问方式lookup方法,如下:
- Context sourceCtx = new InitialContext();
- DataSource ds =(DataSource)sourceCtx.lookup("java:comp/env/jdbc/mysql");
- conn = ds.getConnection();
ok 到这里数据库链接就获取到了
二、每个Web项目独立用自己连接池配置:把xml内容放入一个具体的项目目录
1、配置数据源context.xml:
在该项目目录的META-INF,创建context.xml,其实这个配置和tomcat/conf/context.xml这个文件是一样的,可以直接将那个context.xml 文件复制过来
内容如下:
<?xml version="1.0" encoding="UTF-8"?> <Context path="/"> <Resource name="jdbc/mysql" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" maxIdle="2" maxWait="5000" username="root" password="admin" url="jdbc:mysql://localhost:3306/user" maxActive="4"/> </Context>
然后把JDBC驱动导入到 WEB-INF 下的lib文件夹里
2、配置JNDI资源引用web.xml:
并在该项目web.xml <web-app> </web-app>加入
<resource-ref>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
JNDI 获取数据源,数据库链接:
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/mysql");
Connection conn = ds.getConnection();
********************* 元素属性说明**********************
<Resource>元素的属性说明:
Name:指定Resource资源的JNDI名称;
auth:可选填Container或Application,指定Resource的管理者;
type:指定Resource资源的Java类名;
maxActive:设置数据库连接池中活动状态连接的最大数目,为0则不受限制;
maxIdle:设置数据库连接池中空闲状态连接的最大数目,为0则不受限制;
maxWait:设置数据库连接池中空闲状态连接的最长等待时间,超时则抛出异常,为-1则可无限等待;
username:指定数据库的用户名;
password:指定连接数据库的密码;
driverClassName:指定数据库的JDBC驱动器的Driver实现类名字(这里为MySQL数据库连接);
url:连接数据库的url。*******************************************************
<resource-ref>元素的子元素说明:
description:对所引用JNDI资源的描述;
res-ref-name:引用的JNDI资源的名称,与上面<Resource>元素中的name属性一致;
res-type:引用的JNDI资源的类名称,与上面<Resource>元素中的type属性一致;
res-auth:引用资源的管理者,上面<Resource>元素中的auth属性一致;- Tomcat (7.0)数据源配置
- TOMCAT数据源配置
- Tomcat数据源配置
- tomcat配置数据源
- Tomcat配置mysql数据源
- tomcat下配置数据源
- Tomcat下配置数据源
- Tomcat数据源配置!
- Tomcat mysql 配置数据源
- Tomcat sqlserver 配置数据源
- Tomcat db2 配置数据源
- tomcat数据源配置
- 数据源配置(Tomcat)
- Tomcat快速配置数据源
- Tomcat 5.5 配置数据源
- tomcat配置数据源
- Tomcat快速配置数据源
- tomcat JNDI数据源配置
- WinDebug查找内存泄露
- Reverse Bits (leetcode 190)
- C语言简单的操作mysql
- iOS模拟器常用操作
- ioctl之获取arp表项
- Tomcat (7.0)数据源配置
- C语言中的strlen实现方法
- spark中的dataframe与sparksql的实例
- hbase regionserver节点连不上集群
- java为什么配置环境变量
- github 如何删除已经存在的仓库
- [LeetCode][Java] Valid Sudoku
- cocos2d-js(二)cocos2d-js的基本语法与类的简介
- Unity5.1 新的网络引擎UNET(一) 概括2