我一般都不用这两个方法,struts是一个展示层的框架,一般都要配合其他的框架来用,比如,持久层框架 hibernate ,那么,你就完全没有必要在展示层来配置持久层的东西,对于数据源的配置,完全可以交给持久层来管理。在 hibernate中配置数据源。当然,持久层框架还很多,。。

解决方案 »

  1.   

    我一般是:
    MVC(通过action调用中间层)--》中间层--》业务层--》持久层,根据用接口编程。因此data-sources不应该配置在struts里面,应配置在持久层配置文件比如:hibernate或ibatis……
      

  2.   

    struts是表示层,最好不要应用于数据连接tomcat的DBCP配置数据库连接只是一个测试性的应用,应用在学习和小项目中,不适合企业级应用配置数据库连接有多种方式如poolman,hibernate中自带的c3pO等等
      

  3.   

    zeq258(近朱者赤) 说的对,看你采用什么框架了.如果用tomcat+hibernate,可以在hibernate.cfg.xml中配置,如:<?xml version='1.0' encoding='gb2312'?>
    <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"><hibernate-configuration>
    <session-factory>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
    <property name="hibernate.connection.username">sa</property>
    <property name="hibernate.connection.password">810606</property>
    <property name="hibernate.connection.pool.size">20</property>
    <property name="hibernate.show_sql">true</property>
    <property name="jdbc.fetch_size">50</property> 
    <property name="jdbc.batch_size">25</property> 
    <property name="jdbc.use_scrollable_resultset">false</property> 
    <property name="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</property><!-- Mapping files --> 
    <mapping resource="user.hbm.xml"/>
    </session-factory>
    </hibernate-configuration>也可以用tomcat+jboss 上的EJB,如:
    <?xml version="1.0" encoding="UTF-8"?> 
    <ejb-jar>
      <description>JBoss Interest Sample Application</description>
      <display-name>Interest EJB</display-name>
      <enterprise-beans>
      <session>
        <ejb-name>Interest</ejb-name>      <!-- home interface -->
          <home>org.jboss.docs.interest.InterestHome</home>      <!-- remote interface -->
          <remote>org.jboss.docs.interest.Interest</remote>      <!-- bean implementation -->
          <ejb-class>org.jboss.docs.interest.InterestBean</ejb-class>      <!--bean 的类型 这里是Stateless -->
          <session-type>Stateless</session-type>
          <transaction-type>Bean</transaction-type>
      </session>
      </enterprise-beans>
    </ejb-jar>
      

  4.   

    可以使用第三方数据库连接池  他们推荐的DBCP
      

  5.   

    DataSource可以在很多地方创建,或者说创建DataSource这件事情可以在很多个层面完成。比如说在应用服务器创建(比如Tomcat),或者在应用框架创建(比如Spring、Struts),或者在程序里自己创建。在什么地方创建其实不是特别重要,重要的时创建的时候用的是哪个实现类,这个会直接决定你的DataSource有些什么特性。
      

  6.   

    我要回答的都有人答了,如yangyijieyyj(小猪)等所说
      

  7.   

    现在我们项目也是struts, spring, hibernate
    但是在框架搭建过程中,配置文件太繁琐.
    以前没接触过spring和hibernate, 不知数据量大后,效率会怎样.
      

  8.   

    在TomcatRoot/conf/Catalina\localhost下面增加一个和你的应用同名称的xml文件,在server.xml 里面配置太乱了,单独拿出来好一些
      

  9.   

    修改tomcat/conf/server.xml文件,建立tomcat的数据源,在<host></host>里添加以下内容:<Context path="/address" docBase="D:\peidw\workplace\gzaddr\WebRoot" debug="5" reloadable="true" crossContext="true">
            <Resource name="jdbc/gzaddr" auth="Container" type="javax.sql.DataSource"/>
              <ResourceParams name="jdbc/gzaddr">
              <parameter>
                <name>factory</name>
                <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
              </parameter>
              <parameter>
                <name>driverClassName</name>
                <value>oracle.jdbc.driver.OracleDriver</value>
              </parameter>
              <parameter>
                <name>url</name>
                <value>jdbc:oracle:thin:@130.51.65.10:1521:gzjf</value>
              </parameter>
              <parameter>
                <name>username</name>
                <value>gzaddr</value>
              </parameter>
              <parameter>
                <name>password</name>
                <value>gzscitel</value>
              </parameter>
              <parameter>
                <name>maxActive</name>
                <value>5</value>
              </parameter>
              <parameter>
                <name>maxIdle</name>
                <value>2</value>
              </parameter>
              <parameter>
                <name>maxWait</name>
                <value>-1</value>
              </parameter>
              <parameter>
                <name>removeAbandoned</name>
                <value>true</value>
              </parameter>
              <parameter>
                <name>removeAbandonedTimeout</name>
                <value>30</value>
              </parameter>
            </ResourceParams>
            </Context>
      

  10.   

    不要在struts中配datasource,tomcat中配的话一般用于测试或者你自己写着玩,配在tomcat中还可以用它提供的连接池。