File Upload/ ClassNotFoundException

5474n

Mitglied
Hallo,

ich möchte ein File in einem Servlet uploaden,
dazu habe ich mir den Common FileUpload FileUpload - Home
heruntergeladen, in Eclipse eingebunden und dem Tomcat bekannt gemacht.

mit:
Java:
out.println(
			"<form action=http://localhost:8080/CDVerwaltung/vu enctype=multipart/form-data method=POST>"+
			"<input type=file name=excel>"+
			"<input type=submit value=Upload>");

wähle ich eine Datei aus.
zum Verarbeiten nutze ich dann:
Java:
import java.io.IOException;
import java.io.PrintWriter;
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.*;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

/**
 * Servlet implementation class VerarbeiteUpload
 */
public class VerarbeiteUpload extends HttpServlet {
       

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		try {

			// Check that we have a file upload request
			boolean isMultipart = ServletFileUpload.isMultipartContent(request);

			if (isMultipart) {

				FileItemFactory fif = new DiskFileItemFactory();

				// Create a new file upload handler
				ServletFileUpload upload = new ServletFileUpload(fif);

				// Parse the request
				List <FileItem> items = upload.parseRequest(request);
				for(Object element : items)
				{
					out.println(element);
				}
			}
		}
			catch(Exception e){
				e.printStackTrace();
			}
		
		
	}

}
Müsste doch auch soweit passen, ich möchte bisher nur das überhaupt etwas passiert, noch ohne Weiterverarbeitung oder sonst etwas.

Bekomme dann folgenden StackTrace:
Java:
Mrz 06, 2012 3:13:50 PM org.apache.catalina.core.StandardWrapperValve invoke
Schwerwiegend: Servlet.service() for servlet VerarbeiteUpload threw exception
java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284)
	at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:199)
	at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:361)
	at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
	at de.fnt.ausbildung.verwaltung.servlet.oberflaeche.VerarbeiteUpload.doPost(VerarbeiteUpload.java:37)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Unknown Source)

Muss gestehen, wirklich kapiert hab ich den FileUpload noch nicht.
Kann mir jemand helfen, oder mir eine einfache Post-Methode mit einfacher Erklärung geben?
 
N

nillehammer

Gast
Commons FileUpload benutzt seinerseits auch wieder libs. U.a. commons-io. Die gibts hier: Home
Die musst Du auch noch in das lib-Verzeichnis reintun. Kann sein, dass noch weitere fehlen...
 

irgendjemand

Top Contributor
[ot]genau das ist der grund warum ich keine apache-libs verwende ... weil man nur um etwas was man selbst in 2 oder 3 klassen schreiben könnte erstmal ne tonne voll libs braucht nur weil der call-stack einmal durch alle klassen und zurück geht ... sehr sinnvoll geplant und implementiert ... -> absoluter schwachsinn[/OT]
 
N

nillehammer

Gast
[OT]
Ich finde die Apache Libs super. Vieles geht eben nicht mit 2 bis 3 Klassen. Viele Fragen und Codebeispiele in diesem Forum bestätigen das. Dass Apache die libs modularisiert, finde ich nicht schlecht geplant, sondern im Gegenteil äußerst nachvollziehbar. Wenn du mal 5 bis 6 Jahre Erfahrung mit Java haben wirst, wirst Du es vielleicht auch so sehen lieber irgendjemand.
[/OT]
 

5474n

Mitglied
Habe nun den FileUpload für XML und Excel Dateien hinbekommen.
Mein Problem ist nun, das ich gerne ein Bild hochladen möchte, und dieses dann auf dem Servlet anzeigen.
Ich bin damit gerade aber total überfordert.
Kann mir da jemand schnell eine einfache Methode posten?
Im Internet gibt es einige, doch da versteh ich gar nichts
 

5474n

Mitglied
Habe nun den FileUpload für XML und Excel Dateien hinbekommen.
Mein Problem ist nun, das ich gerne ein Bild hochladen möchte, und dieses dann auf dem Servlet anzeigen.
Ich bin damit gerade aber total überfordert.
Kann mir da jemand schnell eine einfache Methode posten?
Im Internet gibt es einige, doch da versteh ich gar nichts

Hat sich erledigt, habe was zusammenbekommen
 
N

nillehammer

Gast
Hat sich erledigt, habe was zusammenbekommen
Hast es ja schon hinbekommen. Deswegen vielleicht nur zum Verständnis: Reader/Writer sind zum Umgang mit zeichenbasierten Daten da. Ein Bild enthält Binärdaten. Diese behandelt man mit Streams. Statt response.getWriter müsstest Du also response.getOutputStream benutzen.
 

irgendjemand

Top Contributor
[OT]
Ich finde die Apache Libs super. Vieles geht eben nicht mit 2 bis 3 Klassen. Viele Fragen und Codebeispiele in diesem Forum bestätigen das. Dass Apache die libs modularisiert, finde ich nicht schlecht geplant, sondern im Gegenteil äußerst nachvollziehbar. Wenn du mal 5 bis 6 Jahre Erfahrung mit Java haben wirst, wirst Du es vielleicht auch so sehen lieber irgendjemand.
[/OT]

[OT]wie bereits an anderer stelle zu lesen habe ich mitlerweile 7 jahre JAVA erfahrung ... und brauchte noch nie auch nur eine der apache-libs ...
das einzige was ich seit beginn meiner "java-aktivitäten" als libs nutze und genutzt habe ist lediglich der MySQL-connector sowie seit ungefähr einem jahr java-mail ...
auf etwas anderes musste ich noch nie zurückgreifen und konnte immer alles was ich wollte mit der SE-api umsetzen
zu mal ich die libs auch nur in meinen "server-apps" einsetze kann ich so einfach meine apps verteilen ohne einen user mit einer tonne libs überschütten zu müssen[/OT]
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D CSV File Upload Netzwerkprogrammierung 5
M HTTP File Upload mit Prozessbar Funktioniert nicht. Netzwerkprogrammierung 8
R HTTP HttpURLConnection Large File Upload Netzwerkprogrammierung 1
E upload progress bei einem http file post Netzwerkprogrammierung 5
L file upload / download über http Netzwerkprogrammierung 5
J File upload mit ftp Netzwerkprogrammierung 4
D Socket Gute Idee?: File als byte[] per ObjectIOStream übertragen Netzwerkprogrammierung 3
S Webserver für Jar File Netzwerkprogrammierung 4
H Applet soll XML-File auf Server speichern Netzwerkprogrammierung 6
R Apache HttpClient File Download? Netzwerkprogrammierung 3
0 Apache Commons File Object bekommen Netzwerkprogrammierung 4
D Server Client Verbindung - Unexpected End of File - Invalid HTTP Response Netzwerkprogrammierung 4
S RSS-Feed aus ini File Netzwerkprogrammierung 4
Z File über Socket lesen Netzwerkprogrammierung 3
N Socket File über Socket vom Server an Client versenden Netzwerkprogrammierung 15
F Protokoll file:/// Netzwerkprogrammierung 2
B JNLP File -> Web Application Netzwerkprogrammierung 10
DStrohma RMI Security Manager & Policy-File Netzwerkprogrammierung 8
DeviAn Über ein Linux Server ein Windows Server nach einer File fragen Netzwerkprogrammierung 6
P java file.exists() zuzerstörbar Netzwerkprogrammierung 7
E java.net.SocketException: Unexpected end of file from server Netzwerkprogrammierung 2
G SMB-File ausführen Netzwerkprogrammierung 15
J Problem beim Senden von File Netzwerkprogrammierung 4
J Mit der File Api Dateien von anderen Rechnern lesen ? Netzwerkprogrammierung 3
I unc pfad für die klasse file? Netzwerkprogrammierung 4
V file transfer problem Netzwerkprogrammierung 2
P File von http-Server kopieren Netzwerkprogrammierung 5
N File Transfer Netzwerkprogrammierung 5
D wie kann ich rmic ein .jar file übergeben? Netzwerkprogrammierung 3
R File chooser übers Netzwerk Netzwerkprogrammierung 3
G file download über https mit p12 Zertifikat Netzwerkprogrammierung 4
D Performance Problem beim File senden, empfangen Netzwerkprogrammierung 4
T file auf einen server laden Netzwerkprogrammierung 4
J FTP Upload über Proxy funktioniert nicht Netzwerkprogrammierung 1
P nanoHttp upload.html page lädt nicht Netzwerkprogrammierung 4
B FTPS Upload Netzwerkprogrammierung 3
M Google Image Upload Netzwerkprogrammierung 12
M Apache Solr doc & pdf Upload Netzwerkprogrammierung 8
C apache commons net ftp bei upload unvollständig Netzwerkprogrammierung 3
C HTTP Mediawiki Upload Netzwerkprogrammierung 9
D FTP Pfadangabe für ftp-upload funktioniert nicht Netzwerkprogrammierung 5
1 Upload problem! org.apache.commons.net.ftp Netzwerkprogrammierung 3
E Applet zum Datei-Upload Netzwerkprogrammierung 3
P Bilder: FTP-Upload funktioniert nicht richtig Netzwerkprogrammierung 2
W HTTP-Upload Netzwerkprogrammierung 2
K Datei-Upload per FTP Netzwerkprogrammierung 2
E Upload großer Dateien? Netzwerkprogrammierung 5
eskimo328 progress bar mit upload speed Netzwerkprogrammierung 19
J Java Programm für Upload von Dateien per HTTP Netzwerkprogrammierung 7
2 ClassNotFoundException bei RMI Netzwerkprogrammierung 13
J RMI Einfaches Hello World mit Java6 + RMI, aber ClassNotFoundException Netzwerkprogrammierung 6
L RMI ClassNotFoundException bei Stub-Erzeugung Netzwerkprogrammierung 4
B RMI ClassNotFoundException Netzwerkprogrammierung 13
T RMI java.lang.ClassNotFoundException Netzwerkprogrammierung 2
O Error in generating WSDL from Java: java.lang.ClassNotFoundException: WS Netzwerkprogrammierung 2
C ClassNotFoundException am Client (RMI) Netzwerkprogrammierung 2
P StubNotFoundException -> ClassNotFoundException Java6 Netzwerkprogrammierung 8
S rmi ClassNotFoundException Stub-Klasse nicht gefunden. Netzwerkprogrammierung 6

Ähnliche Java Themen


Oben