structs-config.xml
<data-sources>
<data-source type="com.yourcompany.struts.data.DataConnection">
<set-property property="autoCommit" value="true"/>
<set-property property="description" value="sql server 2000"/>
<set-property property="driverClass" value="com.inet.tds.TdsDriver"/>
<set-property property="maxCount" value="10"/>
<set-property property="minCount" value="2"/>
<set-property property="user" value="sa"/>
<set-property property="password" value=""/>
<set-property property="url" value="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=SCRCenter2006"/>
</data-source>
</data-sources>action类中
 DataSource dataSource;
 Connection cnn;
       
 dataSource = getDataSource(request);
 cnn = dataSource.getConnection();为什么总是提示我创建一个getDataSource方法?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【chenguodon】截止到2008-06-24 12:15:12的历史汇总数据(不包括此帖):
    发帖数:1                  发帖分:20                 
    结贴数:0                  结贴分:0                  
    未结数:1                  未结分:20                 
    结贴率:0.00  %            结分率:0.00  %            
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    我想是getDataSource(request)没拿到DataSource的值吧~ 
     
      

  3.   

    getDataSource这个方法在什么地方定义的?
      

  4.   

    com.yourcompany.struts.data.DataConnection 确认是否存在还有你的action继承了struts的Action类了吗
      

  5.   

    getDataSource应该是Struts 的Action类里面的
      

  6.   

    getDataSource问题解决了
    <data-sources>
    <data-source type="org.apache.commons.dbcp.BasicDataSource">
    <set-property property="driverClass" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
    <set-property property="url" value="jdbc:microsoft:sqlserver://localhost:1433;DatebaseName=carey " />
    <set-property property="maxCount" value="10"/>
    <set-property property="minCount" value="2"/>
    <set-property property="user" value="sa"/>
    <set-property property="password" value=""/>
    </data-source>
    </data-sources>
    但现在又出现严重: Initializing application data source org.apache.struts.action.DATA_SOURCE
    org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'jdbc:microsoft:sqlserver://localhost:1433;DatebaseName=carey '
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)
    at org.apache.commons.dbcp.BasicDataSource.setLogWriter(BasicDataSource.java:598)
    at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:808)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:335)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1306)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getDriver(DriverManager.java:243)
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773)
    ... 17 more
    2008-6-24 20:37:48 org.apache.catalina.core.ApplicationContext log
    信息: Marking servlet action as unavailable
    2008-6-24 20:37:48 org.apache.catalina.core.StandardContext loadOnStartup
    严重: Servlet /test-structs threw load() exception
    javax.servlet.UnavailableException: Initializing application data source org.apache.struts.action.DATA_SOURCE
    at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:812)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:335)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3956)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4230)
    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1105)
    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1203)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1306)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
    at java.lang.Thread.run(Thread.java:595)
      

  7.   

    structs配置数据源咋就这么难呢
      

  8.   

    Caused by: java.sql.SQLException: No suitable driver 看看驱动放到lib里了吗
      

  9.   

    参看下 http://blog.csdn.net/caoyinghui1986/archive/2008/06/06/2516877.aspx