`
liujing1961
  • 浏览: 6527 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

tomcat下jndi的三种配置方式

阅读更多

     jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。

    tomcat配置jndi有全局配置和局部配置。大致的有以下三种配置方式:

 

 第一种:全局配置。

1)在tomcat的conf文件夹下的context.xml配置文件中加入:

 <Resource name="jndi/mybatis"
    auth="Container"
    type="javax.sql.DataSource"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/appdb"
    username="root"
    password="123456"
    maxActive="20"
    maxIdle="10"
    maxWait="10000"/>

 

name 为当前数据源JNDI的名字,可以随意设定;

auth 为验证方式;

type 资源类型;

driverClassName 为Oracle驱动引用;

maxActiv 为连接池最大激活的连接数,设为0表示无限制;

maxIdle 为连接池最大空闲的连接数,数据库连接的最大空闲时间。超过空闲时间,

            数据库连接将被标记为不可用,然后被释放。设为0表示无限制;

maxWait 为连接最大的等待时间,单位毫秒,如果超过此时间将接到异常。设为-1

              表示无限制。;

username 为oracle数据库的一个用户名;

password 为username的密码;

url 为连接oracle的连接地址;

 

2)在项目的web.xml中加入资源引用:

<resource-ref>
  <description>JNDI DataSource</description>
  <res-ref-name>jndi/mybatis</res-ref-name>
  <res-ref-type>javax.sql.DataSource</res-ref-type>
  <res-auth>Container</res-auth>
</resource-ref>

其中res-ref-name值要和context.xml的name值一致。

3)jndi测试方法:

 public void testJNDI() throws NamingException, SQLException{
  Context ctx = new InitialContext();
  DataSource ds = (DataSource) ctx.lookup("java:comp/env/jndi/mybatis");
  Connection conn = ds.getConnection();
  System.out.println(conn.isClosed());

 }

4)在jsp中调用加载jndi方式,不可以直接用main方法测试,必须通过启动容器从jsp中调用:

  TestPageAccessURL test = new TestPageAccessURL();
  test.testJNDI();

 

第二种:局部配置(不推荐)。

1)在tomcat的server.xml的<host>标签内,添加:

  <Context path="/demo_jndi" docBase="/demo_jndi">
     <Resource
    name="jndi/mybatis"
    type="javax.sql.DataSource"
    driverClassName="com.mysql.jdbc.Driver"
    maxIdle="2"
    maxWait="5000"
    username="root"
    password="123456"
    url="jdbc:mysql://localhost:3306/appdb"
    maxActive="4"/>
  </Context>

 

第三种:局部配置。

1)在项目的META-INFO下面新建context.xml。加入:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
 <Resource name="jndi/mybatis"
    auth="Container"
    type="javax.sql.DataSource"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/appdb"
    username="root"
    password="123456"
    maxActive="20"
    maxIdle="10"
    maxWait="10000"/> 
</Context>

其他配置同第一种方式。

总结:如果要配置局部的话,推荐使用第三种方式,这样不依赖tomcat了。但是还是推荐使用第一种方式好,虽然依赖tomat,但是是全局的,而且可以配置
多个。对于以后切换使用方便。
在项目的web.xml中添加的资源引用可有可无。

分享到:
评论

相关推荐

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

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

    tomcat配置jndi数据源

    Tomcat 配置 JNDI 数据源 Tomcat 是一个流行的 Java Web 服务器,JNDI(Java Naming and ...Tomcat 配置 JNDI 数据源有多种方式,每种方式都有其特点和适用场景,选择合适的方式取决于项目的需求和 Complexity。

    Tomcat中JNDI原理

    JNDI提供了一种查找和定位应用程序所用资源的标准化方式,这些资源包括数据库连接、消息队列、EJBs、对象引用等。JNDI的核心概念包括: - **命名**:使用名字来标识资源。 - **目录服务**:存储命名信息和资源的...

    tomcat配置JNDI数据源

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

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

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

    tomcat-jndi

    局部JNDI资源只对当前Web应用可见,提供了一种灵活的资源隔离方式。比如,为某个特定应用定义数据源,可在`web.xml`中写入: ```xml &lt;description&gt;DB Connection Pool &lt;res-ref-name&gt;jdbc/MyAppDB &lt;res-type&gt;...

    tomcat配置jndi有全局配置和局部配置

    JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称...本文档主要是tomcat配置jndi有全局配置和局部配置:

    tomcat6.0 配置jndi

    【标题】:“Tomcat6.0配置JNDI” 在Java Web开发中,Tomcat作为常用的Servlet容器,经常被用于部署和运行Java EE应用程序。JNDI(Java Naming and Directory Interface)是Java平台的一项服务,它允许应用程序通过...

    eclipse+mysql+tomcat配置JNDI

    在IT行业中,集成开发环境Eclipse、数据库管理系统MySQL和应用服务器Tomcat是常见的开发与部署组合。本篇文章将深入探讨如何在这样的环境下...记住,理解并熟练掌握JNDI配置对于Java Web开发者来说是至关重要的技能。

    intellij idea使用tomcat开发时自动部署jndi数据源

    在这个场景中,“intellij idea使用tomcat开发时自动部署jndi数据源”是一个重要的知识点,它涉及到如何在IDE中配置和管理数据库连接,以便于在应用运行时动态地查找和使用数据源。 JNDI(Java Naming and ...

    tomcat6中配置JNDI方法

    #### 三、Tomcat6配置JNDI步骤 下面详细介绍在Tomcat6环境下配置JNDI的具体步骤: ##### 3.1 配置`context.xml` - 打开Tomcat安装目录下的`conf/context.xml`文件,在`&lt;Context&gt;`标签内添加数据源配置信息。 ```...

    Tomcat通过JNDI方式连接SqlServer数据库

    使用Tomcat通过JNDI方式连接SqlServer数据库 在本文中,我们将介绍如何使用Tomcat通过JNDI方式连接SqlServer数据库。JNDI(Java Naming and Directory Interface)是一种Java API,用于访问命名和目录服务。在...

    Tomcat JNDI配置

    Tomcat JNDI 配置是 Java Web 应用程序中的一种常见配置,用于将数据库连接信息以 JNDI(Java Naming and Directory Interface)的形式存储在 Tomcat 服务器中,以便于应用程序可以通过 JNDI 来获取数据库连接信息。...

    tomcat配置jndi

    1. **JNDI配置步骤** - **创建数据源**: 首先,你需要创建一个数据库数据源。例如,如果你使用的是MySQL,那么可以在Tomcat的`conf/server.xml`文件中添加一个`&lt;Resource&gt;`标签来定义数据源。下面是一个示例: `...

    Tomcat6.0 JNDI数据源经典实例

    在Java应用服务器中,如Tomcat 6.0,JNDI(Java Naming and Directory Interface)数据源是一种标准的方法来管理数据库连接。JNDI允许应用程序通过一个全局名称查找资源,比如数据源,而无需硬编码数据库连接参数。...

    Tomcat6配置JNDI出错

    6. **Tomcat版本兼容性**:不同版本的Tomcat对JNDI配置的支持可能有所不同,确保使用的JNDI配置符合Tomcat6的要求。 为了解决这些问题,可以按照以下步骤进行排查: - 检查配置文件中的语法和属性值。 - 确保所有...

    tomcat jndi数据源解密factory

    自定义jndi数据源factory类,用于解密jndi中的加密数据,解密方式为DES,具体可根据实际需求修改。

    Tomcat6下JNDI的配置

    本文将详细介绍在Tomcat 6下配置JNDI连接池的步骤。 首先,我们需要创建一个Web项目。在这个例子中,我们将项目命名为`JNDITest`,并将其与Tomcat 6关联。为了实现JNDI连接池,我们需要引入两个外部库:`commons-...

    TOMCAT JNDI配置

    ### TOMCAT JNDI配置详解 #### 一、概述 TOMCAT服务器是Apache软件基金会下的Jakarta项目中的一个开源Web应用容器。JNDI(Java Naming and Directory Interface)是Java平台提供的一种标准接口,用于访问命名和目录...

Global site tag (gtag.js) - Google Analytics