Please i need your help. I have configured Apache commons-fileupload.jar as shown below but when
I run the code, I recieved this error.
@echo off
echo Setting path for
Java 1.6.0
echo Setting classpath for
test servlets and
Jsp
SET PATH=C:\Program Files\Java\jdk1.6.0\bin;%PATH%
SET CLASSPATH=.;C:\Tomcat 6.0\webapps\test\WEB-INF\classes;
SET CLASSPATH=%CLASSPATH%;C:\Tomcat 6.0\lib\servlet-api.jar
SET CLASSPATH=%CLASSPATH%;C:\mysql-connector-java-5.0.4-bin.jar
SET CLASSPATH=%CLASSPATH%;C:\Tomcat 6.0\lib\mysql-connector-java-5.0.4-bin.jar
SET CLASSPATH=%CLASSPATH%;C:\Program Files\Java\jdk1.6.0\lib\mysql-connector-java-5.0.4-bin.jar
SET CLASSPATH=%CLASSPATH%;C:\Tomcat 6.0\webapps\form2\WEB-INF\lib\commons-fileupload-1.2.1.jar
SET CLASSPATH=%CLASSPATH%;C:\Tomcat 6.0\lib\commons-fileupload-1.2.1.jar
SET CLASSPATH=%CLASSPATH%;C:\Tomcat 6.0\lib\commons-fileupload-1.2.1-javadoc.jar
SET CLASSPATH=%CLASSPATH%;C:\Tomcat 6.0\lib\commons-fileupload-1.2.1-sources.jar
SET CLASSPATH=%CLASSPATH%;C:\Tomcat 6.0\webapps\form2\WEB-INF\lib\commons-fileupload-1.2.1-javadoc.jar
SET CLASSPATH=%CLASSPATH%;C:\Tomcat 6.0\webapps\form2\WEB-INF\lib\commons-fileupload-1.2.1-sources.jar
the error is this
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
root cause
java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
org.apache.commons.fileupload.DefaultFileItemFactory.createItem(DefaultFileItemFactory.java:103)
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:358)
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:310)
Upload.doPost(Upload.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.
the code its self is this
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.*;
public class Upload extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PreparedStatement pst = null;
ResultSet rs = null;
Statement stmt = null;
Connection conn = null;
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost/fredrick?user=root&password=root");
stmt = conn.createStatement();
FileUpload fup = new FileUpload();
DiskFileUpload upload = new DiskFileUpload();
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
int count = 0;
while (iter.hasNext()) {
count++;
FileItem item = (FileItem) iter.next();
File cfile = new File(item.getName());
File tosave = new File(getServletContext().getRealPath("C:/Tomcat 6.0/webapps/form2/cow"), cfile.getName());
//item.write(tosave);
//
String file_name = item.getName();
FileInputStream fis = new FileInputStream(tosave);
int len = (int) tosave.length();
pst = conn.prepareStatement("INSERT INTO test (image_data)values(?)");
//image_data column holds LONGBLOB data type
pst.setBinaryStream(1, fis, len);
int rows = pst.executeUpdate();
}
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form name="form_upload" action="Upload" method="POST" enctype="multipart/form-data">
<input type="file" name="image_data" value="" />
<input type="submit" value="Upload" />
</form>
</body>
</html>
Thanks