JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称

访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。

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

第一种:全局配置

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

<Resource name="sqlconn"
auth="Container"
type="javax.sql.DataSource"
         driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
          url="jdbc:sqlserver://localhost:1433;databasename=j1201"
username="sa"
password="sa123"
maxActive="20"
maxIdle="10"
maxWait="10000"/>

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

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

3)jndi测试方法:

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

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

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

<Context path="/slesson3" docBase="/slesson3">
<Resource
name="sqlconn"
type="javax.sql.DataSource"
       driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
maxIdle="2"
maxWait="5000"
username="sa"
password="sa123"
url="jdbc:sqlserver://localhost:1433;databasename=j1201"
maxActive="4"/>
</Context>

其他配置同第一种方式。

第三种:局部配置

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

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="sqlconn"
auth="Container"
type="javax.sql.DataSource"
     driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
          url="jdbc:sqlserver://localhost:1433;databasename=j1201"
username="sa"
password="sa123"
maxActive="20"
maxIdle="10"
maxWait="10000"/>
</Context>

其他配置同第一种方式。

总结:如果要配置局部的话,推荐使用第三种方式,这样不依赖tomcat了。

但是还是推荐使用第一种方式好,虽然依赖tomat,但是是全局的,而且可以配置多个。对于以后切换使用方便。

在项目的web.xml中添加的资源引用可有可无。

JNDI常见配置方式的更多相关文章

  1. tomcat下jndi的三种配置方式

    jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...

  2. 【转】tomcat下jndi的三种配置方式

    jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...

  3. JNDI+Tomcat配置数据源的两种方式

    非全局jndi配置步骤 :此种配置方式不需要在server.xml中配置数据源,而只在tomcat/conf/Catalina/localhost下的启动配置中配置即可.注意红色字体名称必须和相同. ...

  4. Spring Boot 支持多种外部配置方式

    Spring Boot 支持多种外部配置方式 http://blog.csdn.net/isea533/article/details/50281151 这些方式优先级如下: 命令行参数 来自java ...

  5. Hibernate配置方式

    Hibernate配置方式 Hibernate给人的感受是灵活的,要达到同一个目的,我们可以使用几种不同的办法.就拿Hibernate配置来说,常用的有如下三种方式,任选其一. 在 hibernate ...

  6. Httpd2.2常见配置及功能

    Httpd 2.2常见配置 要配置http服务的配置文件,先备份一下,养成良好习惯,如果误操作导致http服务起不来,就可以将备份的主配置文件重新覆盖一下 httpd配置文件的组成:有三大部分组成,其 ...

  7. bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)-VMware下三种网络配置方式

    VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1 ...

  8. TOMCAT下的JNDI的配置

    一.第一种配置局部JNDI 1.在tomcat的conf目录下的server.xml的<host>标签内,添加: <Context path="/TestMvcMode&q ...

  9. Tomcat 5.5 JNDI Resource 配置 (tomcat数据源配置)

    转自:http://blog.csdn.net/fenglibing/article/details/4528512 Tomcat 5.5 JNDI Resource 配置 Author Blog:h ...

随机推荐

  1. node源码详解(三)—— js代码在node中的位置,process、require、module、exports的由来

    本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource3 本博客同步在https://cnodejs.o ...

  2. Javascript中的async await

    async / await是Javascript是ES7的重要特性之一,也是目前社区里公认的优秀异步解决方案.目前,async / await这个特性已经是stage 3的建议,可以看看TC39的进度 ...

  3. css单位总结

    body的font-size:14px     body第二代子元素的font-size: em: 1.2em=1.2*1.2*14px rem:1.2rem=1.2*14px 视口高度:1000px ...

  4. PLSQL DEVELOPER 使用的一些技巧【转】

    1.登录后默认自动选中My Objects 默认情况下,PLSQL Developer登录后,Brower里会选择All objects,如果你登录的用户是dba,要展开tables目录,正常情况都需 ...

  5. ECJTUACM16 Winter vacation training #4 题解&源码

    A......................................................................................... 题目链接→Code ...

  6. mysql学习之权限管理

    数据库权限的意义: 为了保证数据库中的业务数据不被非授权的用户非法窃取,需要对数据库的访问者进行各种限制,而数据库安全性控制措施主要有这三种,第一种用户身份鉴别,手段可以是口令,磁卡,指纹等技术,只有 ...

  7. 说说 bash 的 if 语句

    说说 bash 的 if 语句 在开始先给大家列出几个术语,不做解释,不懂的可以参考其它资料. 术语和符号: 退出状态码 $? [...] (中括号,方括号) [[...]] (双中括号,双方括号) ...

  8. Android搜索框以及内容提供器

    先看结果: 相关的官方文档在这里:Creating a Search Interface Android官方提供了两种方式: 弹出一个Dialog,覆盖当前的Activity界面 在AppBar中扩展 ...

  9. 响应者链-----iOS

    正文 以触摸事件为例,说一下响应者链 当发生触摸事件后,Runloop监听到事件,会将其事件打包成一个UIEvent事件,并放入当前活动UIApplication的事件队列中,再会传给UIWindow ...

  10. TypeScript和JavaScript哪种语言更先进

    TypeScript和JavaScript哪种语言更先进 近两年来最火爆的技术栈毫无争议的是JavaScript,随着ES6的普及,不管是从前端的浏览器来看,还是后端的NodeJS场景,JavaScr ...