1、连接池
   Connection的取得和开放是代价比较高的处理,解决这个问题的方法是连接池。
   连接池就是事先取得一定数量的Connection,程序执行处理的时候不是新建Connection,而是取得预先准备好的Connection的使用权。
 
2、DataSource
   提供连接池机能的技术叫DataSource。   Javax.sql.DataSource
   一般web服务器会提供。比如Tomcat5.5。
   DataSource可以通过new来取得,但通常是通过 JNDI 用 lookup 取得。
 
3、JNDI (Java Naming and Directory Interface)
   Java 命名和目录服务接口(Java Naming and Directory Interface,JNDI)。
   命名服务: 可以类比为Session属性的Map的高级版。实现指定名字的对象的,取得和登录。一般Web服务器会提供。
   目录服务: 和命名服务类似,但是对象的管理是层次性的。
 
   在命名服务里登录的对象,可以用lookup()取得。
 
4、基于Tomcat利用DataSource
1)JDBC驱动配置
   直接利用JDBC编程的话,JDBC驱动放在Web app的WEB-INF/lib下就可以了。
  
利用DataSource的话,JDBC需要放在app服务器的类目录下:
         <Tomcat安装目录>/lib
 
2)修改context.xml文件
   在Tomcat登录DataSource有很多办法,在context.xml里追加<Resource>是最简单的。
   文件: <Tomcat安装目录>/conf/Catalina/localhost/<ProjectName.xml>
   内容: 追加<Resource>要素
 
   Resource要素
      - name,名字。用这个名字取得DataResource
      - type,类名。一般javax.sql.DataSource
      - auth,认证种类,Application或Container。Application的话,需要写认证代码。
      - username
      - password
      - driverClassName,JDBC驱动的类名
      - url,JDBC的URL
 
   例如:
   <Context>
       、、、、、、
       <Resource name="jdbc/myds" auth="Container"
           type="javax.sql.DataSource"
           username="sa" password=""
           driverClassName="org.hsqldb.jdbcDriver"
           url="jdbc:hsqldb:hsql://localhost"/>
       、、、、、、
   </Context>
 
3)使用DataSource
   例子:
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       
        **********
 
        try{
               InitialContext ctx = new InitialContext();
               DataSource ds = (DataSource)ctx.lookup("java:comp/env/名字");
               Connection con = ds.getConnection();
 
               *******
 
        }catch(Exception e){
               throw new ServletException(e);
        }
    }

JAVA_连接池、DataSource、JNDI的更多相关文章

  1. jdbc事务处理和连接池

    JDBC: * JDBC概念:Java DataBase Connectivity(Java数据库连接) SUN公司提供的一组连接数据库API. * JDBC开发步骤: * 1.注册驱动. * 2.获 ...

  2. JSP(Servlet)中从连接池获取连接

    1) 建立连接. 2) 执行SQL. 3) 处理结果. 4) 释放资源. Connection pool:连接池 DataSource: LDAP ( Light directory access p ...

  3. Mybatis连接池及事务

    一:Mybatis连接池 我们在学习WEB技术的时候肯定接触过许多连接池,比如C3P0.dbcp.druid,但是我们今天说的mybatis中也有连接池技术,可是它采用的是自己内部实现了一个连接池技术 ...

  4. 存储过程 务的概念 事务的特性 关于异常的处理 连接池 构JdbcUtil类

    1 存储过程    1)用当地数据库语言,写的一段业务逻辑算法,并该算法存储在客户端    2)使用存储过程需要用于CallableStatement接口,同时需要使如下SQL命令调用:{call a ...

  5. 黑马学习连接池 druid JdbcTemplate c3p0 池技术

    package cn.itcast.jdbctemplate; import org.junit.Test; import org.springframework.jdbc.core.BeanProp ...

  6. JDBC连接池C3P0

    连接池 1)传统方式找DriverManager要连接.数目是有限的. 2)传统方式的close().并没有将Connection重用.仅仅是切断应用程序和数据库的桥梁,即无发送到SQL命令到数据库端 ...

  7. Java开发笔记(一百五十一)Druid连接池的用法

    C3P0连接池自诞生以来在Java Web领域反响甚好,业已成为hibenate框架推荐的连接池.谁知人红是非多,C3P0在大型应用场合中暴露了越来越多的局限性,包括但不限于下列几点:1.C3P0管理 ...

  8. 连接池dbcp

    连接池dbcp DBCP:apache组织 使用步骤: 1.导入jar包(commons-dbcp-1.4.jar和commons-pool-1.5.6.jar.commons-logging-1.2 ...

  9. Mybatis数据连接池的配置---增删改查(以及遇见的问题)

    1.首先创建项目和各个文件,如图所示: 2.配置相关数据库连接 在jdbc.properties中加入 1 db.driver=com.mysql.jdbc.Driver 2 db.url=jdbc: ...

随机推荐

  1. Ajax的课外了解

    Ajax传入的数据的话,只能是字符串或数字,字段,其他形式的传参都不可以: Ajax只是跟后台交互也有同源策略的限制: 不是当前服务器叫跨域: Ajax也有同源策略的限制想做跨域处理,只能通过scri ...

  2. [UE4]Actor的Destroyed事件

  3. Sharing Configuration in ASP.NET Core SPA Scenarios

    https://blogs.msdn.microsoft.com/webdev/2017/10/27/sharing-configuration-in-asp-net-core-spa-scenari ...

  4. 集群Redis使用 Python pipline大批量插入数据

    class myRedis(object):     def __init__(self,redis_type=None,**args):         if redis_type == " ...

  5. 使用docker搭建redis主从模式

    前期准备: 本地Linux版本:CentOS Linux release 7.5.1804 (Core)Docker版本:Docker version 1.13.1, build dded712/1. ...

  6. 高通平台读写nv总结

    一,引言      1. 什么是NV       高通平台的NV,保存了系统运行过程中各个模块可能用到的一些参数值,它是以单个文件的形式保存在EFS中,但用户是不能随意访问的,只能通过QXDM来进行读 ...

  7. U3D学习11——nav导航和动画

    一.nav导航 1.nav mesh agent 2.off mesh link 3.navigation面板-areas标签的应用,导航分层 二.动画 1.avatar可重用. 2.Animator ...

  8. 利用NPOI导出数据到Execl

    相信很多童鞋都开发过Execl的导入导出功能,最近产品中无论是后台数据分析的需要,还是前端满足用户管理的方便,都有Execl导入导出的维护需求产生. 以前做这个功能,如果是web,利用HttpCont ...

  9. vue写后台管理系统问题概述和解决方案

    一个不错的Demo; http://xmall.exrick.cn/#/home 源码:https://gitee.com/Exrick/xmall-front/blob/master/src/pag ...

  10. js中基本数据类型和引用数据类型的区别

    1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变 ...