首先你要了解一下JNDI,因为tomcat的datasource服务是通过JNDI来外提供的。
tomcat会自动维护一个Connection对象池,你只需要取得或关闭Connection即可。一般的使用流程:
1,为Tomcat配置datasource
2,将tomcat的datasource映射到webapp
  (或者直接为webapp配置datasource)
3,通过JNDI查找datasource取回datasource实例
4,通过datasource实例取得Connection对象
5,JDBC操作
6,关闭Connection对象

解决方案 »

  1.   

    javax.naming.Context ctx = 
        (Context) new InitialContext().lookup( "java:/comp/env" );DataSource ds = null;
    Connection conn = null; ds = (DataSource)ctx.lookup( "Your_Datasource_name" );
    conn = ds.getConnection();//and some Exception handle coding
      

  2.   

    如wingtrace所说的流程,到底它是应该发生在同一个项目中的每个需要使用数据库的servlet的每个生存周期一次,还是要这个项目使用spring框架来创建维护一个统一的datasource对象,每次项目加载就连到数据库,项目停止再关闭数据库,整个过程只有travel这个流程一次?case:
    项目AApp有不同子服务servlet a, b, c;他们都要访问数据库
    如果abc分别在起内部声明datasource对象,初始化servlet的时候初始化数据库链接,销毁servlet的时候关闭数据库连接,那么是不是整个AApp将有三个datasource链接,那么tomcat是同一将这三个链接同时放入pool里面并加以管理对吗?
    可不可以这个AApp的生存周期中只维护一个datasource对象呢?
      

  3.   

    1, “初始化servlet的时候初始化数据库链接,销毁servlet的时候关闭数据库连接”
    这不像是一种合理的做法。推荐的做法是“尽可能晚地占用资源,尽可能早地释放资源”
    在需要正式访问数据库的前一刻取得Connection实例,访问完马上Close。2, Datasource和Connection是两个概念,不要混为一谈。
    一般来说Datasource的实例只有一个,生命周期由容器维护,通过JNDI取得。
    Connection对象可以有多个,生命周期由容器维护(通过Datasource),
    但也可以自行编码维护(不使用Datasource)。一时之间恐怕不能理解太多,如果只是想知道怎么写代码,
    先看看别人的代码怎么写的就可以了,以后在实践中慢慢领悟。
      

  4.   

    可能为了弄清楚这个问题,你需要先学习以下两个基础知识:
    ·JNDI
    ·连接池