zoukankan      html  css  js  c++  java
  • 07.十分钟学会tomcat数据源

    一、数据源的作用及操作原理

    1,  首先先看下传统JDBC的操作

    在tomcat中使用数据库连接池操作数据库

    2,JNDI属于命名及目录查找接口,在javaee的javax.naming包中

    这套API的主要作用在于:它可以把Java对象放在一个容器中(JNDI容器),并为容器中的java对象取一个名称,以后程序想获得Java对象,只需通过名称检索即可。其核心APIContext,它代表JNDI容器,其lookup方法为检索容器中对应名称的对象。

    Tomcat服务器创建的数据源会自动绑定到JNDI资源中,应用程序想要使用数据源时,直接通过JNDI的lookup方法检索数据源名称即可得到。

    3,配置tomcat数据源

    在项目META-INF/server.xml中配置服务器数据源

    这样,服务器在启动时,会自动帮我们创建一个数据库连接池

     

    如果想在项目中使用数据源,还需要配置项目的WEB-INFO/web.xml文件

     

    java:comp/env/   前面是固定的   
    java:comp/env是标准的J2EE环境查找规则   
    comp是company的缩写
    env是environment的缩写
    使用这种方式必须做一次环境名到JNDI名的映射 (<res-ref-name>)
    这种隔离使得在写程序时不必关注真正的JNDI名字 
    其实说白了跟把JNDI名放到配置文件里是一样的 

    查找数据源

     

    查找到数据源并从连接池中取得连接

     

    conn.close()表示将当前连接放回连接池中,等待重复使用或空间超时后被释放

    结果

     

    拓展

    服务器会为我们的应用程序创建很多资源,比如request对象,response对象,服务器创建的这些资源有两种方式提供给我们的应用程序使用:第一 种是通过方法参数的形式传递进来,比如我们在Servlet中写的doPost和doGet方法中使用到的request对象和response对象就是 服务器以参数的形式传递给我们的。第二种就是JNDI的方式,服务器把创建好的资源绑定到JNDI容器中去,应用程序想要使用资源时,就直接从JNDI容器中获取相应的资源即可。

  • 相关阅读:
    CF1324F Maximum White Subtree(树形dp)
    定时任务集群部署
    zookeeper服务的注册与发现
    多个定时任务服务注册到zookeeper临时顺序节点配置
    nginx反向代理
    nginx反向代理、负载均衡
    Eclipse快捷键
    下拉列表中复选框多选
    Zookeeper节点查看工具
    git打tag
  • 原文地址:https://www.cnblogs.com/chenxd/p/7816049.html
Copyright © 2011-2022 走看看