Buongiorno!

Devo realizzare una funzione che permetta il caricamento di un file, attraverso un form html, in un database MySQL. Sto usando il framework Struts 1.2.9, e ho seguito questo tutorial per quanto riguarda il caricamento.

Per quanto concerne il salvataggio nel database, questo è lo spezzone di codice corrispondente:
codice:
Connection connection = getConnection();

FormFile inputFile = form.getFile();

String fileName = inputFile.getFileName();
String contentType = inputFile.getContentType();
int size = inputFile.getFileSize();

InputStream inputStream = inputFile.getInputStream();

            String query = "INSERT INTO DocumentFile "
                         + "VALUES "
                         + "( "
                            + "null, "
                            + "?, "
                            + "?, "
                            + "?, "
                            + "?, "
                            + "CURRENT_TIMESTAMP "
                         + ")";
PreparedStatement statement = connection.prepareStatement(query);

statement.setString(1, fileName);
statement.setString(2, contentType);
statement.setInt(3, size);
statement.setBinaryStream(4, inputStream);

int result = statement.executeUpdate();
Il sistema però mi genera il seguente errore:

codice:
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

root cause

java.lang.AbstractMethodError: org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.setBinaryStream(ILjava/io/InputStream;)V
	it.test.data.AccessDB.addDocumentFile(AccessDB.java:572)
	it.test.struts.actions.AddDocumentAction.execute(AddDocumentAction.java:48)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.
Apache Tomcat/5.5.17
Non riesco a capirne il significato. Avete qualche idea?