2
データソース接続を設定しようとしています。私が実際に受けるエラーはjava.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
Servlet.service()のサーブレット[...]がパス[/ ...]のコンテキストでスロー例外[サーブレットの実行で例外がスローされました]
ですが、タイトルのエラーはすぐ上にポップアップします。
-
私は
Context ctx = new InitialContext();
DataSource dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/caffeDB");
Connection con = dataSource.getConnection();
設定このデータソースでcaffeJdbc.javaサーブレットを持っている - これは、サーブレットマッピングおよびリソースの参照を持つプロジェクトのweb.xmlの設定、ある
を
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>tjdbc</servlet-name>
<servlet-class>caffeJdbc</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>tjdbc</servlet-name>
<url-pattern>/caffeJdbc</url-pattern>
</servlet-mapping>
<resource-ref>
<res-ref-name>jdbc/caffeDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
-
のserver.xml
<GlobalNamingResources>
<Resource name="jdbc/caffeDB"
global="jdbc/caffeDB"
url="jdbc:mysql://localhost:3306/caffe"/>
</GlobalNamingResources>
-
そして、これは私が両方のJDBCドライバと中コモンズ-dbcp2-2.1.1 1をロード
<Context path="/JDBCDataSource">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<ResourceLink global="jdbc/caffeDB"
name="jdbc/caffeDB"
type="javax.sql.DataSource">
</ResourceLink>
</Context>
のcontext.xmlでありますlibディレクトリとパス
JDBCドライバが古くなっている可能性があります。これを見て、http://stackoverflow.com/questions/32783706/java-lang-abstractmethoderror-com-mysql-jdbc-connection-isvalidiz –
私はそれがリリースされた最後のものだと思ったが、あなたが私に言ったので、それは2007年のものだった.. これを返信すると、私はそれをupvoteすることができます:) – pedro