数据库连接是一个比较关键的资源,因此占用的时间应该尽可能的短。而在init的时候打开连接,destroy 的时候关闭,就要依赖于服务器对于servlet(Action)的初始化和销毁操作,当然是不推荐的做法。tomcat高一点儿的版本中有连接池,连接池的启动和销毁再应用起来和结束的时候进行,对于数据库的操作仍应该坚持上面的原则。

解决方案 »

  1.   

    那么struts中的datasource跟连接池是不是一样的东西!?datasource得到后是不是就是建立连接了那?还是必须调用getconnection之后才算连接了那?
      

  2.   

    给楼主一个建议:可以在Struts里边调用EJB,用EJB来操作数据库不是很好么?
      

  3.   

    现在在很多的EJB组件时,有数据库连接的情况都使用DBConnectionPool了,当然,使用连接池自然会耗费一些时间,可是使用连接池也带来了很多优点:比如资源的占用率,而且避免了数据库的持久连接带来的很多弊端
      

  4.   

    用连接池可以实现!但是struts本身提供了一个datasource这样一个东东,为何不拿来用用?
      

  5.   

    先定义好你的struts的连接池
    在定义一个类,该类继承Action类,比如是DataAction吧
    在这个类里新建几个方法.入 executeQuery(),executeUpdate()什么的
    记得 close().
    如果在Action中需要用数据库操作就继承DataAction吧.记得close()