<data-sources>
        <data-source>
            <set-property property="password" value="lcwse" />
            <set-property property="minCount" value="1" />
            <set-property property="maxCount" value="5" />
            <set-property property="user" value="se" />
            <set-property property="driverClass" value="oracle.jdbc.driver.OracleDriver" />
            <set-property property="description" value="" />
            <set-property property="url" value="jdbc:oracle:thin:@LCWJNSESERV:1521:SE" />
            <set-property property="readOnly" value="false" />
            <set-property property="autoCommit" value="true" />
            <set-property property="loginTimeout" value="" />
        </data-source>
        
    </data-sources>
是oracle的,你可以参考一下。

解决方案 »

  1.   

    单纯的数据源配置错误,不会造成所有的Action全部无法访问。应该是数据源需要的Class,Web服务器无法找到,造成你的web启动失败。检查一下web启动的log,看看是那个class找不到,将对应的jar包,放到classpath中。
      

  2.   

    就是这个问题。但我还是没能解决:
    我查找了我用的struts.jar文件,结果没有发现org.apach.struts.GenericDataSource这个类
    我看了看struts的api(1.2.1),也没有发现对这个类的介绍。是不是这个类在1.2中不存在了??
    我现在用的struts库应该是哪个版本的??怎样看得出来??
    我又换了另一个类:org.apache.commons.dbcp.BasicDataSource
    并将它所在的jar文件:c:\tomcat5.0\commons\lib\commons-dbcp.jar的路经加入到了classpath中,结果还是不行。我现在的配置如下:<data-sources>
            <data-source key="DATA_SOURCE" type="org.apache.commons.dbcp.BasicDataSource">
                <set-property property="password" value="123" />
                <set-property property="minCount" value="7" />
                <set-property property="maxCount" value="14" />
                <set-property property="user" value="haofeng" />
                <set-property property="driverClass" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
                <set-property property="description" value="" />
                <set-property property="url" value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=forum" />
                <set-property property="readOnly" value="false" />
                <set-property property="autoCommit" value="false" />
                <set-property property="loginTimeout" value="" />
            </data-source>
            
        </data-sources>
    log信息如下:
    2004-11-22 22:45:12 createObjectName with StandardEngine[Catalina].StandardHost[localhost]
    2004-11-22 22:45:12 preRegister with Catalina:type=Logger,host=localhost
    2004-11-22 22:45:15 Marking servlet action as unavailable
    2004-11-22 22:45:15 Servlet /haofengforum threw load() exception
    javax.servlet.UnavailableException: Initializing application data source DATA_SOURCE
    at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:782)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:331)
    at javax.servlet.GenericServlet.init(GenericServlet.java:256)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:887)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3820)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4108)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:792)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:502)
    at org.apache.catalina.core.StandardService.start(StandardService.java:519)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:2343)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:392)2004-11-22 22:45:21 ContextListener: contextInitialized()
    2004-11-22 22:45:21 SessionListener: contextInitialized()
    2004-11-22 22:45:22 ContextListener: contextInitialized()
    2004-11-22 22:45:22 SessionListener: contextInitialized()
    2004-11-22 22:45:23 userdatabase: Initializing database servlet
    2004-11-22 22:45:23 userdatabase: Loading database from '/WEB-INF/userdatabase.xml'
    请再帮我看看是什么原因好吗??万分感谢!!!!!!
      

  3.   

    你加入DBCP.jar这个包到lib里了吗?
      

  4.   

    1、连接池同时需要两个包:commons-dbcp-1.1.jar,commons-pool-1.1.jar,请确认它们在classpath中;
    2、确认SQLServer的jdbc驱动在classpath中。
      

  5.   

    我在tomacat4.1.x中用过连接池,配置文件的写法与你的不同。尤其是type="org.apache.commons.dbcp.BasicDataSource",我没有直接指定datasoure,而是指定了产成datasource的factory的class。把我的配置给你参考(oracle数据库,相关的jar包放在common/lib中),详细的请参看commons.dbcp的文档。Context的内容:
    =======================================
    <Context path="/bzw" reloadable="true" docBase="D:\projects\bzw\bzwApp" workDir="D:\projects\bzw\work\org\apache\jsp" >
    <Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/>
    <Resource name="jdbc/bzworacle" auth="Container"
                  type="javax.sql.DataSource"/> 
    <ResourceParams name="jdbc/bzworacle">
      <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:@littlepig:1521:bzw</value>
      </parameter>
      <parameter>
        <name>poolPreparedStatements</name>
        <value>true</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>bzw</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>bzw</value>
      </parameter>
          <parameter>
        <name>maxActive</name>
        <value>2</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>2</value>
      </parameter>
      <parameter>
        <name>minIdle</name>
        <value>0</value>
      </parameter>
      <parameter>
        <name>maxWait</name>
        <value>1000</value>
         </parameter>
         <parameter>
        <name>removeAbandoned</name>
        <value>true</value>
      </parameter>
      <parameter>
        <name>removeAbandonedTimeout</name>
        <value>30</value>
      </parameter>
      <parameter>
        <name>logAbandoned</name>
        <value>true</value>
         </parameter>
    </ResourceParams>  
    </Context>
    web.xml的相关片断
    ===================
    <resource-ref>
    <description>BZW Oracle Datasource</description>
    <res-ref-name>jdbc/bzworacle</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
      

  6.   

    to:jiafcat
      按你说的还是不行,难道easystruts下不能使用这个数据源类??
      

  7.   

    如果用的IDE,可在其中看到你配置的Struts是什么版本的。
      

  8.   

    显示的是1.1版,但为什么在struts.JAR中找不到org.apache.struts.util.GenericDataSource这个类??这个可是easystruts给出的数据源的默认配置类型啊