tomcat配置JNDI获取数据源

  各个web工程可以通过工程内的xml文件配置访问数据库的数据源,这样的配置是各个工程私有的。基于JNDI为tomcat配置数据源,则可以做成全局的,各工程只需要通过便签引用数据源即可。

  1.需要将数据库的连接驱动mysql-connector-java-5.1.21.jar及数据库连接池的jar包druid-0.2.9.jar放到Tomcat 6.0\lib下。

2.修改tomcat的配置文件,基于JNDI配置数据源,Tomcat 6.0\conf\context.xml改成如下即可,原文件中多余的部分删掉:

<?xml version=‘1.0‘ encoding=‘utf-8‘?>
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Resource
         name="jdbc/mysqldb"
         type="javax.sql.DataSource"
         description="DruidDataSource"
         factory="com.alibaba.druid.pool.DruidDataSourceFactory"
         scope="Shareable"
         auth="Container"
         driverClassName="com.mysql.jdbc.Driver"
         url="jdbc:mysql://localhost:13306/nnm5"
         username="root"
         password="OSSDB123"
         maxActive="50"
         maxWait="10000"
         removeabandoned="true"
         removeabandonedtimeout="60"
         logabandoned="false"
         filters="stat"/>
    <ResourceLink global="mysqldb" name="mysqldb" type="javax.sql.DataSource"/>
</Context>

这里配置的是Druid数据库连接池,配置正确的用户名,密码,url即可。

3.在工程的web.xml中<web-app>标签之间加上下面的代码:

<resource-ref>
        <description>DB Connection test</description>
        <res-ref-name>jdbc/mysqldb</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

4.在需要数据库连接池的配置文件中,通过jee:jndi-lookup标签引入连接池即可。需要引入jee命名空间。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
">

    <jee:jndi-lookup id = "dataSource"
        jndi-name ="java:comp/env/jdbc/mysqldb"
        resource-ref = "true"/>

这里需要注意jndi-name不要写错。其他的地方引用id为dataSource的bean即可。

时间: 2024-08-04 22:17:38

tomcat配置JNDI获取数据源的相关文章

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

在Tomcat配置JNDI数据源的三种方式 分类: java进阶2012-07-01 10:24 18328人阅读 评论(0) 收藏 举报 tomcatjdbcweblogicmysqlbean测试 目录(?)[+] 在我过去工作的过程中,开发用服务器一般都是Tomcat 数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean 然后在部署时再修改JNDI配置 我猜是因为Tomcat的配置需要改配置文件 不像JBoss,Weblogic等服务器在

Tomcat配置JNDI数据源

本文将介绍Tomcat配置JNDI数据源的方法,主要分为配置局部数据源(仅供单个应用使用)和全局数据源(所有用该Tomcat的应用都可以使用) 一.思考 从我们学习Web开发以来,我们都是通过程序代码来实现数据库的访问的.从一开始直接将数据库配置信息写在代码中,到后来将配置信息抽取出来写在了Properties文件中,我们访问数据库的代码更加精简. 而通过JNDI方式访问数据库则更为直接,JNDI连接数据库的方式直接将数据库信息放在Tomcat中,而项目代码里直接通过JNDI技术就可以得到数据源

Tomcat配置JNDI

1.JNDI是什么?使用JNDI有什么好处? JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一. 我个人对jndi的了解是:配置数据库的方式用在了外部配置,一般会是web容器的配置文件里面,而达到如果数据库连接属性或数据库类型不一样可以做到不修改编码. 但是个人觉得这是一项落后的技术,毕竟现在用springboot,本身不用我们去关心太多web容器的问题,而且springboot的基于外部配置文件的自

Eclipse +Tomcat配置JNDI数据源

以下是具体配置的步骤: 1.首先配置Tomcat下的jndi数据源.具体存放目录apache-tomcat-7.0.59\conf\Catalina\localhost 下 osh.xml <?xml version='1.0' encoding='utf-8'?> <Context docBase="G:\sbwork\oshome\WebContent" reloadable="false" path="/osh">

JNDI数据源(在Tomcat下配置JNDI多数据源实例)

一,添加数据库驱动包加入classpath. 这里我用到了oracle和mysql.所以由两个jar包:ojdbc14.jar和mysql-connector-java-5.1.13-bin.jar. (有的也说需要添加commons-dbcp-1.4.jar,commons-pool-1.5.4.jar和commons-collections.jar,我做了测试,不用的.网上查了下,DBCP使用Jakarta-Commons Database Connection Pool,它依赖以下三个包:

帆软报表FineReport中数据连接之Tomcat配置JNDI连接

1. 问题描述 在帆软报表FineReport中,通过JNDI方式定义数据连接,首先在Tomcat服务器配置好JNDI,然后在设计器中直接调用JNDI的名字,即可成功使用JNDI连接,连接步骤如下: 2. 实现步骤 · 使用版本及环境 下面以Windows XP系统,tomcat 5.5,jdk 1.6,连接SQLserver2000数据库进行JNDI连接说明,其他版本数据库步骤基本相同. 2.1 拷贝驱动 将连接数据库的JDBC驱动拷贝到Tomcat安装目录下的%Tomcat_HOME%\co

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

第一种,单个应用独享数据源 就一步,找到Tomcat的server.xml找到工程的Context节点,添加一个私有数据源 Xml代码   <Context docBase="WebApp" path="/WebApp" reloadable="true" source="org.eclipse.jst.jee.server:WebApp"> <Resource name="jdbc/mysql&q

tomcat 配置JNDI数据源

db2 版本 在context.xml里的context节点内加入下面代码. <Resource name="jdbc/SUNMANAGER" auth="Container" type="javax.sql.DataSource" driverClassName="com.ibm.db2.jcc.DB2Driver" url="jdbc:db2://18.1.99.235:50000/sunyard"

Tomcat8.0配置JNDI多数据源

jndi配置 :此种配置需要在Tomcat的server.xml中和context.xml中配置数据源,在项目中引用. 需要在tomcat下加入数据库连接的jar包,相关包(ojdbc14;c3p0数据源) ① .找到Tomcat的server.xml中GlobalNamingResources节点,在节点下加一个全局数据源 1 <!-- Global JNDI resources 2 Documentation at /docs/jndi-resources-howto.html 3 -->