ich hoffe mein Problem jetzt besser darzustellen als vor zwei Wochen:
über das jsp:plugin-Tag versuche ich ein Applet zu laden.
ich mach es genauso wie im plugin-example von tomcat:
<jsp:plugin type="applet" code="Clock2.class"
codebase="/examples/jsp/plugin/applet" jreversion="1.2" width="160"
height="150" >
<jsp:fallback>
Plugin tag OBJECT or EMBED not supported by browser.
</jsp:fallback>
</jsp:plugin>
und dass geht auch,
meine files liegen jedoch nicht im tomcat-webapps sondern in einem anderem
Verzeichnis:
<server.xml>
<Context path="/shareport" docBase="C:\shareport" debug="0"
reloadable="true">
</server.xml>
Servlets Beans und JSP's gehen auch...
aber versuche ich mit einem solchem Pfad das Applet zu starten bekomme ich
immer
ClassNotFoundExceptions.
<stack-Trace>
java.lang.ClassNotFoundException: Clock2.class
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:153)
at
sun.plugin.security.PluginClassLoader.findClass(PluginClassLoader.java:191)
at java.lang.ClassLoader.loadClass(ClassLoader.java:309)
at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:114)
at java.lang.ClassLoader.loadClass(ClassLoader.java:265)
at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:475)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:551)
at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1610)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:480)
at sun.applet.AppletPanel.run(AppletPanel.java:293)
at java.lang.Thread.run(Thread.java:539)
Caused by: java.io.IOException: open HTTP connection failed.
at sun.applet.AppletClassLoader.getBytes(AppletClassLoader.java:226)
at sun.applet.AppletClassLoader.access$100(AppletClassLoader.java:42)
at sun.applet.AppletClassLoader$1.run(AppletClassLoader.java:143)
at java.security.AccessController.doPrivileged(Native Method)
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:140)
... 10 more
</stack-trace>
ich habe schon alle möglichen codebase-angaben versucht, sogar mal nen
absoluten Pfad, nix...
Hier mal meine Verzeichnisstruktur:
views WEB-INF
classes
applet
ich hab das applet auch schon mal ins views-Verzeichnis gelegt, nix...
hat jemand eine Idee oder irgendwo ein funktionierendes beispiel???
mfg alex
PS: Sorry fürs Doppelposting, aber ich denke, das ich diesmal ausführlicher
bin
ok, wenn ich hier ../ für codebase setze, dann bin ich in meinem root.
aber ich möchte ein verzeichnis "tiefer:
../WEB-INF/ gibt diesen Trace:
Laden: Klasse ChartApplet.class nicht gefunden
java.lang.ClassNotFoundException: java.io.FileNotFoundException:
http://localhost:8080/shareport/WEB-INF/ChartApplet/class.class
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source)
at sun.plugin.protocol.jdk12.http.HttpURLConnection.getInputStream(Unknown
Source)
at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown
Source)
at
sun.plugin.protocol.jdk12.http.HttpURLConnection.checkCookieHeader(Unknown
Source)
at sun.plugin.protocol.jdk12.http.HttpURLConnection.getInputStream(Unknown
Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.applet.AppletClassLoader.getBytes(Unknown Source)
at sun.applet.AppletClassLoader.access$100(Unknown Source)
at sun.applet.AppletClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at sun.plugin.security.PluginClassLoader.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)
alex
> aber ich möchte ein verzeichnis "tiefer:
>
> ../WEB-INF/ gibt diesen Trace:
> Laden: Klasse ChartApplet.class nicht gefunden
>
> java.lang.ClassNotFoundException: java.io.FileNotFoundException:
> http://localhost:8080/shareport/WEB-INF/ChartApplet/class.class
>
Nein, willst du nicht. Auf WEB-INF kann ein Client nicht zugreifen, und das
ist auch gut so.
Nico
"Nico Seessle" <ni...@seessle.de> schrieb im Newsbeitrag
news:a0vsv6$n6k17$1...@ID-105150.news.dfncis.de...
> Nein, willst du nicht. Auf WEB-INF kann ein Client nicht zugreifen, und
das
> ist auch gut so.
danke, Klasse, das ist es...
Warum ich da nicht drauf gekommen bin, gelesen hab ichs
auch schon;-)))
aber irgendwie komme ich mot den Pfaden nicht zurecht:
views Web-Inf config
applet src classes
das Applet will jetzt mit dem Servlet kommunizieren:
URL url=new URL(getCodeBase()+"Mediator");
URLConnection urlConnection=url.openConnection();
java.io.FileNotFoundException:
http://localhost:8080/shareport/views/Mediator
, das File liegt aber in shareport/Mediator, nur das Applet liegt ja
ausserhalb des Web-Inf
was mach ich hier falsch???
alex
> aber irgendwie komme ich mot den Pfaden nicht zurecht:
>
> views Web-Inf config
> applet src classes
Ich auch nicht... irgendwie ist das einfach nicht zu erkennen, wie das nun
in Wirklichkeit sein könnte...
Also mal allgemein:
Wenn das Servlet in $TOMCAT_HOME/webapps/myApp/WEB-INF/classes/ServletKlasse
liegt, dann lässt es sich über
http://servername:port/myApp/servlet/ServletKlasse ansprechen. Wenn also das
Applet im Root liegt, dann brauchst du vermutlich so etwas wie "new
URL(getCodeBase()+"/servlet/Mediator")".
Nico