JSP, Eclipse, Tomcat - Java Klasse wird nicht gefunden

henpara

Bekanntes Mitglied
Hallo allerseits,

ich bin noch sehr neu in der Webentwicklung und versuche mich gerade zurechtzufinden.

Eclipse helios ist installiert, Tomcat 7.0 ist installiert. Tomcat Server auf Eclise läuft auch und ich bekomme über JSP einfach Kommandos und Ausgaben hin.

Was jetzt allerdings partout nicht funktionieren will ist über

<jsp:plugin type="applet" codebase ="" code="AppAppletCombination">
<jsp:params>
<jsp:param name="Test" value="0" />
</jsp:params>
<jsp:fallback>
<p>Unable to load applet</p>
</jsp:fallback>
</jsp:plugin>

ein simples Applet zu starten.

Eclipse schiebt die compilierten Klassen automatisch nach .\build\classes.
Egal, was ich bei codebase eingebe, ob ich noch ein Archiv angebe (die Klasse in eine JAR packe und mit angebe), es kommt immer beim Aufruf im Browser:
Laden: Klasse AppAppletCombination nicht gefunden
java.lang.ClassNotFoundException: AppAppletCombination
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Ausnahme: java.lang.ClassNotFoundException: AppAppletCombination


Eventuell hat ja jemand eine Idee, irgendwie hört sich das nach einem ganz trivialen Problem an, nur leider bin ich mit Eclipse noch zu unerfahren und finde die Antwort bzw. den Einstellungsort nicht.

lg
henpara
 

F.S.WhiTeY

Bekanntes Mitglied
Moin,

Du bist NEU in der webentwicklung und startest mit JSP?

Das man als Fahranfänger mit einem alten Golf 2 anfängt ist mir ja klar aber das man in der Informatik mit veralterter Technik anfängt?

Vieleicht solltest du dir überlegen ob Du dir nicht lieber JSF 2.0 anschauen möchtest ;)

Zu deinem Problem:

Du hast den codebase nicht angegeben. Trage da mal den ordner ein, in dem dein Applet liegt. Der Ordner kann absolut ( C:\\woauch\\immer\\der\\Orner\\liegt ) oder relatiev ( ...\da liegt er\ ) angegeben werden.

Nochmal meine Meinung: JSP ist vertane Zeit.

LG

David
 

henpara

Bekanntes Mitglied
Danke schonmal für die Info,

leider ist das ganze etwas verzwickter, da ich ein Web-Projekt übernehmen musste.
Dies ist eben über JSP implementiert. Und unter tomcat 3.2 läuft es auch (allerdings damals noch unter java 1.2 compiliert). Tja und das möchte ich jetzt nach tomcat 7 portieren (Das Projekt compiliert schonmal unter java 1.6 ohne Fehler mittlerweile).

Das mit der codebase ist mir klar, aber auch wenn ich sie angebe findet er nichts, vielleicht mache ich da noch Fehler mit relativem und absolutem Pfad?

Daher dachte ich, das einfachste wäre es, ggf. die JSP umzuschreiben und anzupassen. Aber offensichtlich ist das Problem verzwickter. werde mir JSF2.0 mal anschauen.

Danke schonmal für die Tipps!
 

F.S.WhiTeY

Bekanntes Mitglied
Oha, dann haben sie dich ja ins kalte Wasser geschmissen. Du tust mir fast schon leid sowas übernehmen zu müssen :p

Ja spiel einfach mal mit den Pfaden rum, oder lass einfach die codebase weg (den Tag ganz raus nehmen) und leg das Applet in den selben Ordner, wo auch die JSP liegt.

Vergleich auch noch mal den Namen des Applets, vilt. nur ein Schreibfehler?

Ich hoffe das Hilft und ich hoffe du bekommst die Chance das Project zu Portieren. Auch wenn das sehr viel Arbeit ist und viel Zeit und Wissen benötigt. :D
 
M

maki

Gast
Und unter tomcat 3.2 läuft es auch (allerdings damals noch unter java 1.2 compiliert). Tja und das möchte ich jetzt nach tomcat 7 portieren (Das Projekt compiliert schonmal unter java 1.6 ohne Fehler mittlerweile).
Die Servlet & JSP API haben sich seitdem signifikant geändernt, dass führt IME zu sog. "Silent Fails", d.h. leere Werte (leere String & Null) anstatt Exceptions.

Wirst IMHO nicht umhim kommen als das ganze Ding komplett neu zu schreiben.
 

henpara

Bekanntes Mitglied
Wirst IMHO nicht umhim kommen als das ganze Ding komplett neu zu schreiben.
Danke für den Hinweis. Daß sich meine Begeisterung gerade in Grenzen hält muss ich wohl nicht erwähnen ;)

Damit hat sich das hier auch vorerst erledigt.
Vielen Dank nochmal für die schnellen Antworten!

lg
henpara
 

freez

Top Contributor
Du hast den codebase nicht angegeben. Trage da mal den ordner ein, in dem dein Applet liegt. Der Ordner kann absolut ( C:\\woauch\\immer\\der\\Orner\\liegt ) oder relatiev ( ...\da liegt er\ ) angegeben werden.

Ich habe schon lang nix mehr mit Applets gemacht, aber muss da nicht der Pfad angegeben werden, den der Browser auch erreichen kann? "C:\\...." kann ja nur funktionieren, wenn er den Browser auf dem selben Rechner laufen lässt, wie den Server. Ich würde auf alle Fälle zum Testen die JAR des Applets in den selben Ordner ablegen, wie das JSP File und mit dem Browser versuchen das JAR File zu laden. Erst wenn das geht, würde ich die JAR in den gewünschten Zielordner legen, noch mal mit dem Browser testen und dann die CodeBase auf diesen Pfad legen.
 

F.S.WhiTeY

Bekanntes Mitglied
Moin!

...aber muss da nicht der Pfad angegeben werden, den der Browser auch erreichen kann? "C:\\...." kann ja nur funktionieren, wenn er den Browser auf dem selben Rechner laufen lässt, wie den Server....

Das ist nicht ganz richtig. Es soll auch leute geben, die Windwos Server mit dem IIS-Modul zur repräsentation nach außen nutzen.

Der Pfad der Dort als Codebase angegeben wird oder allgemein für den Webserver zur lokalisierung von ressourcen angegeben wird bezieht sich immer auf die Serverseitige Maschine und das darauf installierte OS.

"C:\\...." ist also der richtige absolute Pfad wenn man IIS ,XAMPP oder ähnliches auf einer Windowsmaschine laufen lässt.

"/home/user/htdocs/" wäre dann wahrscheinlich der Pfad der auf einer Linuxmaschine zum tragen kommt.

Es hat sich allerdings etabliert, relative Pfade zu benutzen. Die sind sicherer ( man sieht von außen die Ordnerstrucktur des Servers nicht) und bequemer weil kürzer.
Davon abgesehen, sind relative Pfade eine Methode die uns der Server zur verfügung stellt. Denn der arbeitet immer mit absoluten Pfaden.

Ich mache mal an einem Beispiel klar, wie ein Server aus einem relativen einen Absoluten Pfad macht:


1. Es wird eine Anfrage auf eine webseite unter www.example.tld gestellt. Diese Webseite gibt lediglich ein Bild aus. Der Pfad für das Bild ist .../Bilder/bild.jpg

2. Der Server schaut in eine Liste, in der Die gehosteten Domains aufgelistet sind (Virtualhost Datei) um zu erfahren welcher Ordner das Document-Root ist.

3. Der Server findet die Domain und liest aus der liste den Ordner "C:\\Programme\\XAMPP\\example_tld\\"

4. Der Server sucht in dem Verzeichnis nach der Datei und Parsed sie (wenn er sie den Findet)

5. Der Server sucht nach den genannten ressourcen hier sieht er den Pfad: "...\Bilder\bild.jpg".
Nun Parsed er den Pfad und macht daraus : "C:\Programme\XAMPP\example_tld\Bilder\bild.jpg" um auf die Ressource innerhalb des OS zugreifen zu können, denn Windoof kennt ...\Bilder\bild.jpg nicht.
Nachdem er den Pfad hat, Parsed er den rest und gibt die Antwort in Form der Webseite an den Browser zurück.


Das ganze spiel hat weder etwas mit dem Browser noch mit dem OS zu tun. Die verarbeitung der Pfade ist immer Aufgabe des Webservers.

Richtig ist allerdings, dass eine Domain normalerweise nur ihr Document-Root kennt und daher eine Bild-URL in Form von "/home/example/htdocs/Bilder/Bild" nicht funktionieren wird aber wir sprechen von Eingebettetem Code und der erlaubt, wie PHP, absolute PFade.

LG

David
 

freez

Top Contributor
Der Pfad der Dort als Codebase angegeben wird oder allgemein für den Webserver zur lokalisierung von ressourcen angegeben wird bezieht sich immer auf die Serverseitige Maschine und das darauf installierte OS.

OK, das war mir neu. Ich dachte, dass die codebase Angabe für den Browser ist, damit er weiß, wo er die Jar Files findet.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T JSF in Eclipse mit Tomcat Web Tier 0
S JSF Tomcat in Eclipse einbinden (JSF) Web Tier 0
P Eclipse zeigt Errors an, die auf Tomcat nicht auftreten Web Tier 2
A Beispiel wirft Fehler. JSF 2.0 / Tomcat / Eclipse Web Tier 2
J Tomcat-Server mit JSF auf Eclipse einrichten Web Tier 7
S Tomcat / Eclipse Probleme Web Tier 2
T Tomcat Projekt ohne Eclipse starten Web Tier 11
G Konfigurationsproblem Eclipse/JSF Web Tier 0
C JSF 2.0 mit Eclipse Web Tier 3
Kenan89 WebSocket in Eclipse Web Projekt implementieren Web Tier 19
L Web-Projekt Projekt in Eclipse classes Ordner? Web Tier 6
I cannot find FacesContext in Eclipse-JSF1.2 mit JBoss Web Tier 8
T Plugins für Eclipse Web Tier 9
E Glassfish, Eclipse + JavaserverPages Web Tier 6
N JSF + Eclipse = Unmöglich?! Web Tier 7
E JSF 2.0 Wie Richfaces in Eclipse einbinden? Web Tier 25
C Eclipse: Einbinden externer Projekte in Web-Projekt Web Tier 10
C Eclipse mit JSF2.0 Web Tier 7
C Eclipse Galileo und jsf-api.jar 2.0 Web Tier 1
reibi JSF-Project in Eclipse Galileo Web Tier 2
T Servlet deployment mit eclipse Web Tier 5
N java bean in eclipse Web Tier 6
T Eclipse: Adden von projektspezifischen libs in web-inf/lib? Web Tier 4
B struts-blank, eclipse und tomcat6 konfigurieren Web Tier 7
T Ajax / Javascript Plugin für Eclipse Web Tier 1
M JSP und Eclipse Web Tier 4
L Eclipse WTP All-in-one Web Tier 3
G jsp validatoren in eclipse ausstellen Web Tier 2
M "Dynamic Web Project" unter Eclipse nicht vorhande Web Tier 2
ruutaiokwu Servlet Tomcat Versionsproblem? Web Tier 4
I JSF JSF, Tomcat, Server Faces und maven Web Tier 3
feinperligekohlensaeure JSF JSF + Tomcat 9 | HTTP Status 404 |(com.sun.faces.config.ConfigureListener?) Web Tier 1
R Tomcat - java.lang.OutOfMemoryError: PermGen space Web Tier 0
puba mit JDev entwickelter WS auf Tomcat deployen Web Tier 2
R JSF Tomcat 7 & JSF - UnsupportedOperationException Web Tier 1
G Probleme mit Java + Tomcat | Cannot switch on a value of type String for source level below 1.7 Web Tier 8
S Tomcat 8.0.9 logging Web Tier 0
S Servlet Tomcat 8.0.9 logging Web Tier 13
D JSP Anfängerfrage - Ändern von JSP / Tomcat Web Tier 4
R Tomcat 7 und SSL Web Tier 3
J JSP Web Applikation auf virtuellem Tomcat Server Web Tier 1
G Magnolia CMS - jedes mal Tomcat restart Web Tier 7
A Wartezeit nach Tomcat start wegen Servlets zu hoch Web Tier 2
M tomcat anwendungsabhängige konfigdateien Web Tier 6
C Tomcat wirft keine ViewExpiredException Web Tier 8
C Tomcat + Eclipselink = NotSerializable Exception? Web Tier 2
M JSP Problem beim deployen auf Tomcat Web Tier 2
A Servlet File Upload funktioniert nur lokal auf Entwicklungsrechner, nicht in Tomcat Web Tier 5
T Tomcat mit Servlets Problem Web Tier 7
B JSF JSF1.1 @Tomcat 5.5 für ein neues Projekt Web Tier 18
P JSF Umgebungsvariablen bei Tomcat-Start setzen Web Tier 4
D Tomcat/Struts2 Benutzer bestimmt Name der URL Web Tier 2
T Tomcat: Packete dynamisch auslesen und Klassen erzeugen Web Tier 3
S Servlet Problem mit Tomcat Web Tier 3
M Classpath für JPA in Tomcat Webapp: Wie konfigurieren? Web Tier 4
reibi Tomcat : Änderbare Config-Files Web Tier 5
reibi Servlet Tomcat : Display name und version setzen Web Tier 3
JCODA Tomcat ohne Fenster starten Web Tier 5
B Tomcat 6 ergibt Fehler - java.net.SocketException Web Tier 2
L Services in Tomcat einbinden? Web Tier 2
B JSF Tomcat Windows Linux equals Problem Web Tier 3
N JSP org.apache.tomcat cannot be resolved to a type InstanceManager cannot be resolved to a type Web Tier 4
S Tomcat 7, Struts, JPA baut keine Verbindung auf Web Tier 13
M Geschwindigkeit von Tomcat / JavaWebanwendungen Web Tier 3
D Probleme mit Tomcat Web Tier 3
M Tomcat 6 Umlaut Probleme Web Tier 2
F No Factories configured for this Application - Myfaces mit Tomcat Web Tier 1
T jsf Tobago in Tomcat classpath aufnehmen Web Tier 2
F umzug von tomcat 4 auf tomcat 6 Web Tier 2
J tomcat webapp restarten Web Tier 2
ruutaiokwu tomcat autodeploy Web Tier 7
I Tomcat aktualisiert CSS - Datei nur ab und zu Web Tier 4
T Tomcat-Projektverzeichnis Web Tier 13
E JSF Applikation läuft nicht über Tomcat Web Tier 3
F JApplet in Tomcat-Umgebung funktioniert mal wieder nicht ... Web Tier 8
T Tomcat, JSP, UTF-8 und URL-Codierung Web Tier 4
A Hat Tomcat einen Cache? Web Tier 5
S Tomcat Heap Memory erhoehen..? Web Tier 4
I Rich Faces nur mit JBoss oder auch Tomcat? Web Tier 7
A Tomcat - JSP läuft nicht Web Tier 2
reibi access.log in Tomcat ... ist das möglich? Web Tier 2
R Fehler 1053 beim Beenden von Tomcat Web Tier 25
A Tomcat - JSP ausführen Web Tier 8
M Tomcat - Mehrere Verzeichnisse für die jsp Web Tier 12
thE_29 Tomcat - Applications(Context) bekommen Web Tier 19
A Tomcat: beim Start des Servers einmalige Aktion aufrufen (Problem gelöst) Web Tier 2
T Hibernate, Debuggingparameter Tomcat Web Tier 3
A JDBC in Tomcat einbinden Web Tier 3
P Tomcat funktioniert nicht so wie er sollte Web Tier 11
C Tomcat total memory Web Tier 11
C Apache-Tomcat Web Tier 13
F ssl, tomcat und jsp anwendungen Web Tier 5
G Tomcat 4.1 Experimente 8) Web Tier 3
S Tomcat JSP context.xml - Standartpfad einstellen Web Tier 3
J Fehler Tomcat/JSP findet Methode nich Web Tier 3
jann Tomcat und Kompression Web Tier 9
Q tomcat konfiguration - rewrite Web Tier 3
A TomCat will nicht - Wieso? Web Tier 5
Q Auth. per Tomcat Web Tier 4
O kurze Frage zur Tomcat Installation Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben