Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JSP Datei-Upload

Empfohlene Antworten

Einen schönen gutn Abend allerseits!

ich hab da eine Frage.. wie es im Titel steht, geht's um eine Datei-Upload-Seite in JSP. Ich bekomme zwei Fehlermeldungen in Tomcat die ich mir nicht erklären kann.

Zur Info: Es ist mein erster Beitrag hier. Außerdem lerne ich Java/JSP nicht in der Schule sondern im Moment mehr privat, und das auch erst sein wenigen Tagen! also bitte nicht schimpfen :) Um genau zu sein, ist das meine allererste JSP-Seite überhaupt :rolleyes:

Nun zur Sache:

hab mir 3 Klassen rausgesucht, die ich brauchen könnte (ImageInfo, MultipartRequest, ServletMultipartRequest), alle per Batch-Datei kompiliert und in meine JSP-Datei eingebunden. Wenn ich die Seite nun im Browser aufrufe kommen zwei "cannot find symbol"-Fehler! Kann mir bitte einer erklären was das überhaupt bedeutet? Am besten poste ich einfach die komplette Fehlermeldung. Hoffe das ist okay?

HTTP Status 500 -


type Exception report


message


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


exception


org.apache.jasper.JasperException: Unable to compile class for JSP


An error occurred at line: 14 in the jsp file: /upload/upload.jsp

Generated servlet error:

C:\xampp\tomcat\work\Catalina\localhost\_\org\apache\jsp\upload\upload_jsp.java:27: cannot find symbol

symbol  : class MultipartRequest

location: class org.apache.jsp.upload.upload_jsp

    MultipartRequest parser

    ^



An error occurred at line: 14 in the jsp file: /upload/upload.jsp

Generated servlet error:

C:\xampp\tomcat\work\Catalina\localhost\_\org\apache\jsp\upload\upload_jsp.java:28: cannot find symbol

symbol  : class ServletMultipartRequest

location: class org.apache.jsp.upload.upload_jsp

      = new ServletMultipartRequest( request, 1*1024*1024 );  // < 1 MB

            ^

2 errors




	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)

	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)

	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)

	org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)

	org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)

	org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)

	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)

	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)

	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)

	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)

	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.


Apache Tomcat/5.0.28

Was braucht ihr noch? Oder kann mir jetzt schon jemand helfen? :hells: Würde mich freuen! Danke schon mal!

Die JSP-Seite wär' nicht schlecht. Zumindest der kritische Part davon.

Die Fehlermeldung is mir selbst noch nicht untergekommen.

Aber es stimmt irgendwas mit den Klassen MultipartRequest und ServletMultipartRequest nicht.

Wenn er die klasse nicht finden kann kommt eigentlich die ClassNotFount-Exception, in diesem fall aber kann es auch sein das er die Klassen nicht finden kann.

mfg byte

Wenn er die klasse nicht finden kann kommt eigentlich die ClassNotFount-Exception, in diesem fall aber kann es auch sein das er die Klassen nicht finden kann.
Ein NoClassDefFoundError kommt immer dann, wenn die Klassen zur Compilezeit, aber nicht zur Ausführung vorhanden waren. (Eine ClassNotFoundException erscheint nur bei Class.forName, ClassLoader#loadClass und evtl. Deserialisierung).

In dem Fehler hier, sind die Klassen nicht verfügbar, während das JSP zum ersten Mal aufgerufen und kompiliert wird.

Import mit reinnehmen, bzw. kompletten Klassenpfad angeben und die Libraries mit einbinden, dann wird's auch laufen.

Ein NoClassDefFoundError kommt immer dann, wenn die Klassen zur Compilezeit, aber nicht zur Ausführung vorhanden waren. (Eine ClassNotFoundException erscheint nur bei Class.forName, ClassLoader#loadClass und evtl. Deserialisierung).

In dem Fehler hier, sind die Klassen nicht verfügbar, während das JSP zum ersten Mal aufgerufen und kompiliert wird.

Import mit reinnehmen, bzw. kompletten Klassenpfad angeben und die Libraries mit einbinden, dann wird's auch laufen.

ahso ja ok wusst ich nicht :)

aber zur compile zeit bekahm ich meistens nie classnotfound exceptions, eigentlich meistens bei der ausführung und da wurdes ja schon compiliert oder nicht

mfg byte

ahso ja ok wusst ich nicht :)

aber zur compile zeit bekahm ich meistens nie classnotfound exceptions, eigentlich meistens bei der ausführung und da wurdes ja schon compiliert oder nicht

mfg byte

Meines Wissens nach nicht. Denn die JSP-Seite liegt, wie Du sie schreibst auf dem Server. Wenn sie geladen wird, muß noch einmal kompiliert werden.

ahso ja sry wir reden ja von jsp's war jetzt auf der normalen java-schiene :D sry

mfg byte

DANKE erstmal für die schnellen Antworten! ich sehe schon, ich muss mich erstmal etwas mehr mit Java befassen :)

importiert sind die Klassen bereits, aber wie man die Libraries einbindet, muss ich mir erst noch anschauen :cool:

import:

<%@ page import = "java.io.*, xyz.upload.*" %>

mfg & gn8

:schlaf:

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.