`
thinkerAndThinker
  • 浏览: 282463 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Tomcat配置多数据源

 
阅读更多

测试的tomcat为apache-tomcat-6.0.18 ,数据库为mysql和oracle。

配置步骤如下:

1、把数据库的JDBC驱动放入D:\apache-tomcat-6.0.18\lib目录下

2、在D:\apache-tomcat-6.0.18\conf\web.xml文件中,将下面代码加入到web.xml中:

复制代码
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/oracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
复制代码

3、在D:\apache-tomcat-6.0.18\conf\server.xml文件中,在Host节点下添加Context子节点,配置如下 

复制代码
<Context path="/ljqtest" docBase="ljqtest" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/mysql"
type
="javax.sql.DataSource"
username
="root"
password
="mysql"
driverClassName
="org.gjt.mm.mysql.Driver"
url
="jdbc:mysql://localhost:3306/shop"
maxIdle
="2"
maxWait
="50"
maxActive
="4">
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
</Resource>
<Resource name="jdbc/oracle"
type
="javax.sql.DataSource"
username
="test"
password
="test"
driverClassName
="oracle.jdbc.driver.OracleDriver"
url
="jdbc:oracle:thin:@localhost:1521:ORCL"
maxIdle
="2"
maxWait
="50"
maxActive
="4">
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
</Resource>
</Context>
</Host>
复制代码

或者

复制代码
<Context path="/uimcardprj" docBase="uimcardprj" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/ycxkDB"
type
="javax.sql.DataSource"
username
="ycxk"
password
="xmzh"
driverClassName
="oracle.jdbc.driver.OracleDriver"
url
="jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 134.128.48.250)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))"
maxIdle
="2"
maxWait
="50"
maxActive
="4">
</Resource>
</Context>
</Host>
复制代码

注意:path为D:\apache-tomcat-6.0.18\webapps目录下的工程名称 
4、把web工程项目部署在D:\apache-tomcat-6.0.18\webapps目录下 

MysqlConn类:获取Mysql数据源

复制代码
package com.ljq.test;

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

publicfinalclass MysqlConn {
// 懒汉式单例(使用时才new)
privatestatic MysqlConn instance =null;

MysqlConn() {
}

// 延迟初始化(用到的时候才加载)(推荐)
// public static synchronized JdbcConn
// getInstance(){}->这样不好,因为每调用一次就同步,效率非常低
publicstatic MysqlConn getInstance() {
if (instance ==null) {
synchronized (MysqlConn.class) {// 可能会产生并发的问题,我们对他进行同步
if (instance ==null) {
instance
=new MysqlConn();
}
}
}
return instance;
}

private DataSource getDataSource() {
DataSource ds
=null;
try {
Context ctx
=new InitialContext();
ds
= (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
}
catch (Exception e) {
System.out.println(
"数据源获取失败");
e.printStackTrace();
}
return ds;
}

public Connection getConn() {
Connection conn
=null;
try {
conn
= getDataSource().getConnection();
}
catch (SQLException e) {
System.out.println(
"数据库连接失败");
e.printStackTrace();
}
return conn;
}

}
复制代码

OraclelConn类:获取Oracle数据源

复制代码
package com.ljq.test;

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

publicfinalclass OracleConn {
// 懒汉式单例(使用时才new)
privatestatic OracleConn instance =null;

OracleConn() {
}

// 延迟初始化(用到的时候才加载)(推荐)
// public static synchronized JdbcConn
// getInstance(){}->这样不好,因为每调用一次就同步,效率非常低
publicstatic OracleConn getInstance() {
if (instance ==null) {
synchronized (OracleConn.class) {// 可能会产生并发的问题,我们对他进行同步
if (instance ==null) {
instance
=new OracleConn();
}
}
}
return instance;
}

private DataSource getDataSource() {
DataSource ds
=null;
try {
Context ctx
=new InitialContext();
ds
= (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
}
catch (Exception e) {
System.out.println(
"数据源获取失败");
e.printStackTrace();
}
return ds;
}

public Connection getConn() {
Connection conn
=null;
try {
conn
= getDataSource().getConnection();
}
catch (SQLException e) {
System.out.println(
"数据库连接失败");
e.printStackTrace();
}
return conn;
}

}
复制代码

页面index.jsp:打印数据库连接对象

<body>
mysql连接对象为:
<%Connection conn=MysqlConn.getInstance().getConn();%><%=conn %><%conn.close();%><br/>
oracle连接对象为:
<%Connection conn2=MysqlConn.getInstance().getConn();%><%=conn2 %><%conn2.close();%><br/>
</body>


5、启动tomcat,在浏览器中输入:http://localhost:8083/ljqtest/,输出如下:

分享到:
评论

相关推荐

    JNDI数据源配置(tomcat)

    "JNDI 数据源配置(tomcat)" JNDI(Java Naming and Directory Interface)是一种Java API,用于访问命名和目录服务。JNDI 数据源配置是 Java Web 应用程序中常用的数据库连接方式。Tomcat 是一个流行的 Java Web ...

    详细介绍在tomcat中配置数据源原理

    Tomcat 中配置数据源原理详解 在本文中,我们将详细介绍在 Tomcat 中配置数据源的原理。数据源是指Java应用程序连接数据库的接口,通过配置数据源,我们可以在 Java 应用程序中访问数据库。 首先, let's talk ...

    tomcat配置jndi数据源

    Tomcat 配置 JNDI 数据源 Tomcat 是一个流行的 Java Web 服务器,JNDI(Java Naming and Directory Interface)是 Java 中的一种命名和目录接口规范。Tomcat 中的 JNDI 数据源是指将数据库连接信息注册到 JNDI ...

    在Tomcat配置JNDI数据源的三种方式

    在Tomcat配置JNDI数据源的三种方式

    tomcat配置JNDI数据源

    通过JNDI配置数据源,使得数据库连接可以在多个应用之间共享,简化了应用的配置,同时提高了系统的可扩展性和可维护性。在实际开发中,还可以使用更高级的连接池实现,如C3P0、Apache DBCP2或HikariCP,它们提供了更...

    tomcat 配置工程 数据源

    tomcat 配置工程 数据源

    tomcat配置db2数据源jar包

    5. **web.xml配置**:在你的Web应用的`WEB-INF/web.xml`文件中,也需要配置数据源,以便在应用中可以找到并使用。 ```xml &lt;description&gt;DB2 Datasource &lt;res-ref-name&gt;jdbc/DB2DS &lt;res-type&gt;javax.sql....

    tomcat配置数据源步骤

    下面将详细阐述Tomcat配置数据源的步骤以及其工作原理。 1. **理解数据源与连接池** 数据源是Java中的一个接口,通常由JNDI(Java Naming and Directory Interface)服务管理,它提供了一种统一的方式来获取和释放...

    tomcat 配置数据源

    在本篇内容中,我们将详细解析如何在Apache Tomcat服务器中配置数据源。这涉及到Tomcat服务器的基础配置、数据源的定义以及与数据库的具体连接参数等。这些知识点对于理解和掌握如何在Tomcat环境下高效地管理和使用...

    Tomcat配置JNDI数据源的N种方法

    Tomcat配置JNDI数据源的N种方法

    tomcat中配置数据源

    本篇文章将深入探讨如何在Tomcat中配置数据源,以便于应用程序高效、稳定地访问数据库。 数据源(DataSource)是Java EE中用于管理数据库连接的接口,它提供了一种在多线程环境中安全、有效地管理和重用数据库连接...

    在Tomcat中配置数据源

    ### 在Tomcat中配置数据源:深入解析与实践 #### 核心概念解析: **数据源(DataSource)**:在Java EE环境中,数据源是一种管理数据库连接的方式,它提供了访问数据库的标准接口。通过数据源,应用程序可以获取到...

    TomCat数据源配置

    本篇文章将详细介绍如何在Tomcat 5.5版本中配置数据源,以及如何在JSP程序中使用这个配置好的数据源。 首先,我们来看一下Tomcat 5.5中的数据源配置。数据源(DataSource)是Java应用程序用来管理数据库连接的一种...

    tomcat下配置数据源附xml文件

    在Tomcat中配置数据源是连接数据库的关键步骤,对于任何Web应用来说都是至关重要的。这里我们将深入探讨如何在Tomcat中配置数据源,并提供一个XML配置文件的示例。 首先,我们需要了解数据源是什么。在Java术语中,...

    Tomcat配置数据源

    以上就是Tomcat配置MySQL数据源的基本步骤。需要注意的是,配置过程可能因Tomcat版本的不同而略有差异,具体可参考官方文档(如给出的链接)进行调整。同时,为了提高性能和安全性,建议使用连接池管理工具如C3P0或...

    TOMCAT 中的数据源配置

    用于在tomcat中配置java数据源用于在tomcat中配置java数据源用于在tomcat中配置java数据源用于在tomcat中配置java数据源用于在tomcat中配置java数据源。

    tomcat数据源连接池配置

    本篇文章将详细介绍如何在Tomcat中配置数据源连接池,以及涉及的相关jar包文件。 首先,理解数据源(DataSource)的概念。数据源是一个接口,用于管理数据库连接,它提供了一种在多个线程或应用之间共享数据库连接...

    为Tomcat6配置数据源

    ### 为Tomcat6配置数据源 #### 一、配置文件概述 在为Tomcat6配置数据源之前,首先需要了解Tomcat6的配置文件结构。Tomcat6的配置文件主要位于`$TOMCAT6_HOME/conf`目录下,其中包括`server.xml`和`context.xml`两...

    TomCat 添加 oracle 数据源

    然而,在配置数据源并将其与应用程序关联起来的过程中,往往面临着繁琐且易错的操作,尤其是在不同Web服务器上进行配置时。本文将详细介绍如何在Apache Tomcat服务器环境下配置Oracle数据源,并通过实例演示整个过程...

    Tomcat JDNI数据源配置详解

    本文将详细介绍如何在Tomcat环境下使用JNDI配置数据源。 #### 二、JNDI简介 JNDI(Java Naming and Directory Interface)是Java平台提供的一种标准接口,用于访问各种命名和目录服务。它允许开发者以统一的方式...

Global site tag (gtag.js) - Google Analytics