JSP Class not found beim Applet-Start

henpara

Bekanntes Mitglied
Hallo zusammen.
Folgendes Problem:
Ich habe ein dynamisches Webprojekt in Eclipse erstellt. Javasources eingefügt, erfolgreich kompiliert. Webinhalte richtig eingefügt und benötigte jars im Web-Inf Ordner/lib Ordner drin.

Wenn ich das Programm dann als "run on server" (Tomcat v7.0) starte, kann ich mich auch einloggen (Basic authentifizierung gewählt), nur kommt danach leider nix mehr außer folgender Fehlermeldung.
Java Plug-in 1.6.0_24
Verwendung der JRE-Version 1.6.0_24-b07 Java HotSpot(TM) Client VM
[...]
Laden: Klasse org.ctstransplant.webtx.client.WebTXClient.class nicht gefunden
java.lang.ClassNotFoundException: org.ctstransplant.webtx.client.WebTXClient.class
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Hier meine .jsp-Datei, die dafür verantwortlich sein sollte (Hab selber bisher wenig bis keine Ahnung von jsp, habe die Datei übernommen (Auf Tomcat 3.2 mit anderer Verzeichnisstruktur und Property-Dateien von Tomcat lief das ganze schonmal).

Java:
<html>
<head>
<title>WebTx Statistics Client. (Server: <%=request.getServerName()%>)
</title>
</head>
<body bgcolor="#CCCCCC">
	<%
		java.util.Enumeration exSessions = org.ctstransplant.webtx.server.session.SessionManager.getSessions();
	%>
	<%--get the remote user from the request to reuse it as an applet param--%>
	<%
		String UserName = request.getRemoteUser();
	%>
	<%
		boolean alreadyLoggedOn = false;
	%>
	<%
		boolean exit = false;
	%>
	<%
		while (exSessions.hasMoreElements()) {
			String sess = (exSessions.nextElement()).toString();
			sess = sess.substring(sess.length() - 2, sess.length());
			if (UserName.equals(sess)) {
				alreadyLoggedOn = true;
			}
		}
	%>
	<script language="JavaScript" type="text/javascript">
if (<%=alreadyLoggedOn%>) {
		alert("A session for user <%=UserName%> already exists. A new session will be established!");
	}
</script>
	<%--this should include admission's input, set the sessionhome attribute and return
commented out to client (visible for debug purposes)--%>
<%--<!--
<jsp:include page="/servlet/admission" flush="true"/>
-->--%>
	<%--retrieve the sessionhome attribute 
put into the request by the above servlet (AdmissionServlet)--%>
	<%
		String SessionHome = (String) request.getAttribute("org.ctstransplant.webtx.SessionHome");
	%>
	<%--retrieve the database attribute 
put into the request by the above servlet (AdmissionServlet)--%>
	<%
		String DataBase = (String) request.getAttribute("org.ctstransplant.webtx.DataBase");
	%>
	<%--show the java plugin in the browser
using the sessionhome attribute value as dynamic parameter--%>
	<jsp:plugin type="applet"
		code="org.ctstransplant.webtx.client.WebTXClient.class"
		codebase="applet" jreversion="1.6" width="1000" height="820">
		<jsp:params>
			<jsp:param name="SessionHome" value="<%= SessionHome %>" />
			<jsp:param name="UserName" value="<%= UserName %>" />
			<jsp:param name="DataBase" value="<%= DataBase %>" />
			<jsp:param name="archive" value="client.jar" />
		</jsp:params>
		<jsp:fallback>
			Plugin tag OBJECT or EMBED not supported by browser.
			Please update your browser!
		</jsp:fallback>
	</jsp:plugin>
</body>
</html>
Unter build/classes/ existiert die Klassenstruktur org/ctstransplant/webtx/client und dort existiert die Datei webtxclient.class auch.

Jemand eine Idee?

lg
 

L-ectron-X

Gesperrter Benutzer
Liegt möglicherweise an deinem codebase-Attribut innerhalb der Applet-Einbindung.
Versuche mal
Code:
codebase="./applet"
, wenn dein Applet in einem Verzeichnis namens applet unterhalb deiner JSP-Seite liegt. Ansonsten musst du das möglicherweise anpassen.
 

henpara

Bekanntes Mitglied
Liegt möglicherweise an deinem codebase-Attribut innerhalb der Applet-Einbindung.
Versuche mal codebase="./applet" , wenn dein Applet in einem Verzeichnis namens applet unterhalb deiner JSP-Seite liegt. Ansonsten musst du das möglicherweise anpassen.

Habe wie gesagt das ganze mit Eclipse erstellt und auch über das Plugin den Tomcat am laufen.

Unter Eclipse sieht das folgendermaßen aus:

im pluginverzeichnis:
E:\EclipseJ_workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\

gibt es das Verzeichnis wTx, in welchem die META-INF und WEB-INF verzeichnisse, sowie die benötigten html und die jsp-Dateien liegen.
(die Index.html ruft die client.jsp auf - was ja auch funktioniert.)
Im web-inf ordner gibt es classes und lib, welche beide befüllt sind - unter classes die oben genannte hierarchie org.ctstransplant.webtx.client.webtxclient.class

die web.xml schaut folgendermaßen aus:
Java:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">
	<servlet>
		<servlet-name>admission</servlet-name>
		<servlet-class>org.ctstransplant.webtx.server.servlet.AdmissionServlet</servlet-class>
	</servlet>
	<servlet>
		<servlet-name>error</servlet-name>
		<servlet-class>org.ctstransplant.webtx.server.servlet.ErrorServlet</servlet-class>
	</servlet>
	<security-constraint>
		<web-resource-collection>
			<web-resource-name>WebTX Protected Area</web-resource-name>
			<url-pattern>*.jsp</url-pattern>
		</web-resource-collection>
		<auth-constraint>
			<role-name>webtxuser</role-name>
		</auth-constraint>
	</security-constraint>
	<login-config>
		<auth-method>BASIC</auth-method>
		<realm-name>WebTX Users</realm-name>
	</login-config>
	<security-role>
		<role-name>webtxuser</role-name>
	</security-role>
</web-app>

applet und ./applet zu ändern hat noch nichts geholfen. (auch wtx oder ./wtx gleicher fehler)

lg
 

henpara

Bekanntes Mitglied
So, hab einen Teil der Dunkelheit erhellen können:

er erwartet in dem Verzeichnis wohl eine .jar - Datei mit interner passender Klassenstruktur.
Frage: Liege ich da richtig, daß ein applet in Form einer .jar - Datei anwesend sein muss?

Wenn ja:
Wenn ich die Java-Klassen für die .jar im web-Projekt habe, kann ich ihm irgendwie sagen, daß er die Klasse zu einer .jar builden soll? Also quasi den Build-Vorgang automatisieren?

Oder kann ich dem Applet sagen, daß seine Klassen, die er braucht alle unter web-inf/classes zu finden sind? (also das verzeichnis, statt eine .jar als Suchgrundlage sehen)

lg
 

L-ectron-X

Gesperrter Benutzer
Mit dem Thema kenne ich mich nicht aus, aber in der FAQ findest du einen Beitrag zum Erzeugen von Jar-Dateien, sowie zum Einbinden von Jar-Dateien (Applets) in HTML-Dateien.
Vielleicht kommst du damit weiter?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N class not found database Driver Servlet WEB-INF Web Tier 3
Kenan89 Class Funktion mit Ajax rufen Web Tier 13
W List queryForList(String sql, Class element) Web Tier 4
L Can't instantiate Class -> ClassNotFoundException Web Tier 16
W JavaBeans class="" macht Probleme Web Tier 2
T div-tag style VS class Web Tier 5
FINF_AW_Alex Bin ich jetzt bekloppt?!? / Property not found (resolved tu null) Web Tier 5
M javax.el.PropertyNotFoundException: Property 'bezeichnung' not found on type Entities.Produkt Web Tier 2
L Spring No suitable driver found for jdbc:sqlserver: was kann ich tun? Web Tier 5
G JSF PrimeFace - No library found for namespace Web Tier 4
F.S.WhiTeY Spring Glassfish-> dependency -> no classdef found Web Tier 5
P JSF tag "ajax" not found Web Tier 3
P JSF static method: property not found Web Tier 5
R Primefaces: No Library Found For This Namespace Web Tier 4
L JSF: Property not found Exception Web Tier 2
E rpc.StatusCodeException: Error 404, URI not found Web Tier 1
A Found no FacesContext Web Tier 2
pkm Problem beim Import eines dynamischen Webprojekts als .zip Web Tier 2
Rudolf Glassfish stoppen beim Start ALLE Applikationen zu deployen Web Tier 3
T JSF Primefaces beim öffnen eines p:dialog wird eine neue View ManagedBean erstellt Web Tier 2
M Exception beim Erstellen einer Query Web Tier 9
M JSP Problem beim deployen auf Tomcat Web Tier 2
S JSF Probleme beim redirect im ExceptionHandler Web Tier 2
B JSP Warning [unchecked] beim Build von JSP Web Tier 5
D Probleme beim installieren von WebBeans Web Tier 2
H Probleme beim Aufrufen von Java- oder Servlet-Methoden aus Javascript Web Tier 2
I Beim zurück-Link wird immer ein Request ausgeführt Web Tier 5
K [GWT] Probleme beim asynchronen Methodenaufruf mit GWT-RPC Web Tier 8
Spin JSP Fehler beim casten , why? Web Tier 6
R Fehler 1053 beim Beenden von Tomcat Web Tier 25
A Tomcat: beim Start des Servers einmalige Aktion aufrufen (Problem gelöst) Web Tier 2
F Fehler beim erstellen des EJB - Moduls! Web Tier 4
F Beim Aufruf von einer JSF Seite eine Methode ausführen Web Tier 9

Ähnliche Java Themen

Neue Themen


Oben