2013-06-05 68 views
0

我是struts中的新手,並嘗試創建一個簡單的Web應用程序。我無法連接到德比數據庫。我的構建路徑和lib文件夾有德比罐。但我仍然得到「沒有合適的司機」發現異常。 我的Tomcat日誌顯示無法在德比Struts中創建類的JDBC驅動程序

SEVERE: Initializing application data source testdata 
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'jdbc:derby://localhost:1527/testdata;' 
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452) 
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) 
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.setLogWriter(BasicDataSource.java:1134) 
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:1173) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.sql.SQLException: No suitable driver 
at java.sql.DriverManager.getDriver(Unknown Source) 
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437) 
... 17 more 
Jun 5, 2013 7:13:01 PM org.apache.catalina.core.ApplicationContext log 
INFO: Marking servlet action as unavailable 
Jun 5, 2013 7:13:01 PM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Allocate exception for servlet action 
javax.servlet.UnavailableException: Initializing application data source testdata 
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:1173) 
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:291) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
at java.lang.Thread.run(Unknown Source) 
Jun 5, 2013 7:33:51 PM org.apache.catalina.core.StandardWrapperValve invoke 

信息:Servlet的作用是當前不可用

我Struts_config看起來像

<data-sources> 
<data-source key="testdata" type="org.apache.tomcat.dbcp.dbcp.BasicDataSource"> 
<set-property property="driverClass" value="org.apache.derby.jdbc.ClientDriver"/> 
<set-property property="url" value="jdbc:derby://localhost:1527/testdata;"/> 
</data-source> 
</data-sources> 

我的Action類獲取連接,如下

DataSource ds=getDataSource(request,"testdata"); 
Connection con=ds.getConnection(); 

我不知道這裏出了什麼問題。任何幫助是極大的讚賞。

回答

0

您使用的是什麼版本的S1? data-source機制已被提倡針對,並在更多「最近」版本的S1中被刪除。

正確的屬性名稱driverClassNameshown in the docs。文檔通常是邁向成功的第一步。

0

確保derbyclient.jar位於您的應用程序類路徑中。

相關問題