JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。
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"/>
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数据源的三种方式
本文将详细介绍如何在Spring中配置两种不同的方式来获取WebLogic JNDI数据源。 #### 一、本地WebLogic Server获取 这种方式适用于当Spring应用与WebLogic服务器在同一台物理机器上运行时的情况。在这种模式下,...
本篇文章将详细介绍如何使用JNDI配置数据源进行数据库连接。 1. **JNDI概述** JNDI提供了一种统一的接口来访问命名和目录服务,比如DNS、LDAP等。在Java Web环境中,它常用来查找和绑定应用程序所需的资源,如数据...
JNDI配置数据源是将数据库连接池集成到Tomcat中的重要步骤,这样可以提高应用的性能和可维护性。下面我们将详细介绍如何在Tomcat中通过JNDI配置数据源。 首先,我们需要了解数据源是什么。数据源是一个对象,它管理...
通过JNDI配置数据源,使得数据库连接可以在多个应用之间共享,简化了应用的配置,同时提高了系统的可扩展性和可维护性。在实际开发中,还可以使用更高级的连接池实现,如C3P0、Apache DBCP2或HikariCP,它们提供了更...
在Java应用开发中,JNDI...三、Spring与JNDI数据源的整合 1. Spring配置:在Spring的配置文件(如applicationContext.xml)中,不直接定义DataSource,而是声明一个Bean,使用JNDI查找来获取数据源。例如: ```xml ...
JNDI(Java Naming and Directory Interface)是一种Java API,它允许应用程序查找和使用资源,如数据源、邮件服务器等。在Java Web应用中,通过JNDI查找数据源可以实现数据库连接的管理和复用,提高应用的可移植性...
然而,有时我们可能希望在非Web环境下或不使用JNDI的情况下配置数据源,这时我们需要在Spring的配置文件中等价地实现JNDI的数据源配置。以下是如何在Spring中进行这种转换的详细步骤和知识点: 1. **理解JNDI配置**...
Tomcat6+Spring+JNDI配置数据源说明 本文档主要介绍了Tomcat6+Spring+JNDI配置数据源的详细步骤和原理。数据源是一个池子,里面有若干个数据连接对象,当需要时就从里面拿一个使用,使用完毕就放回去,如果超过最大...
Tomcat 配置 JNDI 数据源 Tomcat 是一个流行的 Java Web 服务器,JNDI(Java Naming and ...Tomcat 配置 JNDI 数据源有多种方式,每种方式都有其特点和适用场景,选择合适的方式取决于项目的需求和 Complexity。
Spring框架作为一个强大的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)容器,提供了多种配置数据源的方式,其中包括通过JNDI(Java Naming and Directory Interface)来查找和配置数据源。JNDI...
Tomcat配置JNDI数据源的N种方法
"JNDI 数据源配置(tomcat)" JNDI(Java Naming and Directory Interface)是一种Java ...JNDI 数据源配置提供了两种方式供选择,单个应用独享数据源和全局 JNDI 数据源,开发者可以根据实际情况选择最适合的方式。
下面我们将逐一介绍如何使用JNDI配置Oracle、MySQL、SQL Server、DB2、Informix、Sybase以及PostgreSQL等几种常见数据库的数据源。 ##### 3.1 Oracle ```java Class.forName("oracle.jdbc.driver.OracleDriver")....
WebLogic 下配置 JNDI 数据源 WebLogic 是一款功能强大的 Java 应用服务器,提供了强大的集成和管理功能,而 JNDI(Java Naming and Directory Interface)是 Java 中的一种命名和目录接口,用于在 Java 应用程序中...
自定义jndi数据源factory类,用于解密jndi中的加密数据,解密方式为DES,具体可根据实际需求修改。
总结,JNDI数据源是Java企业级应用中重要的数据库连接管理方式,通过JNDI服务,可以实现数据库连接的集中管理和动态配置,提高应用的可维护性和安全性。理解并正确配置JNDI数据源是开发高效、稳定的Java EE应用的...
本文将详细介绍Spring配置数据源的三种常见方式:`DriverManagerDataSource`、`Apache Commons DBCP`(BasicDataSource)以及通过`JNDI`查找数据源。 1. **DriverManagerDataSource** `DriverManagerDataSource`是...
在本文档中,我们将详细探讨如何在Tomcat环境下使用SpringMVC与JNDI配置数据源。 #### 二、Tomcat配置JNDI的三种方式 ##### 1. 单个应用独享数据源 在Tomcat的`server.xml`中为特定的应用程序配置专用的数据源,...
在Tomcat中配置数据源JNDI主要可以通过以下三种方式实现: 1. **在`context.xml`中配置数据源** - 此方法适用于单一应用的数据源配置。首先需要编辑Tomcat安装目录下的`conf/context.xml`文件,在`<Context>`标签...