# Applet wird nicht angezeigt



## Lay-C (18. Jan 2007)

ICh habe jetzt alle .class dateien und die .java und die java.policy.applet datei in den selben Ordner auf meinem Server geladen, allerdings komm inder Javakonsole folgender Fehler, wenn die Seite in die das Applet eingebunden ist geöffnet wird:

```
java.security.AccessControlException: access denied (java.io.FilePermission data.dat read)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkRead(Unknown Source)
	at java.io.RandomAccessFile.<init>(Unknown Source)
	at java.io.RandomAccessFile.<init>(Unknown Source)
	at Chatplatform.init(Chatplatform.java:49)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
```

in Zeile 49 der Chatplatform Klasse steht:

```
readwrite.datei= new RandomAccessFile("data.dat", "rw");
```

readwrite ist ebenfalls eine Klasse...

kann mir jemand sagen wo der Fehler liegt, ich habe auch alle Schreib und lesezugriffe auf die data.dat zugelassen...


----------



## Wildcard (18. Jan 2007)

Du kannst class Dateien nicht signieren. Du brauchst ein jar.


----------



## Guest (19. Jan 2007)

was meinst du mit signieren??

und wie erstelle ich die jar datei?


----------



## Wildcard (19. Jan 2007)

Na wenn du aus der Sandbox ausbrechen willst muss dein jar signiert sein.
Ich verweise dich einfach mal an die FAQ für weitere Informationen.


----------



## Lay-C (19. Jan 2007)

jetzt hab ich das Applet signiert und jetzt zeigt mir die Konsole:


```
Laden: Klasse Chatplatform.jar nicht gefunden
java.lang.ClassNotFoundException: Chatplatform.jar
	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)
Caused by: java.io.FileNotFoundException: C:\Dokumente und Einstellungen\Dominik\Eigene Dateien\hOMEPAGE\HTML-Übungen\JAVA Übung\Chatplatform\jar.class (Das System kann den angegebenen Pfad nicht finden)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(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)
	... 10 more
Laden: Klasse Chatplatform.jar nicht gefunden
java.lang.ClassNotFoundException: Chatplatform.jar
	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)
Caused by: java.io.FileNotFoundException: C:\Dokumente und Einstellungen\Dominik\Eigene Dateien\hOMEPAGE\HTML-Übungen\JAVA Übung\Chatplatform\jar.class (Das System kann den angegebenen Pfad nicht finden)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(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)
	... 10 more
Laden: Klasse Chatplatform.jar nicht gefunden
java.lang.ClassNotFoundException: Chatplatform.jar
	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)
Caused by: java.io.FileNotFoundException: C:\Dokumente und Einstellungen\Dominik\Eigene Dateien\hOMEPAGE\HTML-Übungen\JAVA Übung\Chatplatform\jar.class (Das System kann den angegebenen Pfad nicht finden)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(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)
	... 10 more
```


----------



## L-ectron-X (19. Jan 2007)

Wahrscheinlich fehlt das archive-Attribut in der HTML-Datei.
Lass mal sehen, wie du das Applet eingebunden hast.


----------



## Lay-C (19. Jan 2007)

```
<applet code="Chatplatform.jar" width="640" height="480" alt="Java-Applet">
    <param name="TestText" value="SELFHTML">
  </applet>
```

so hab ichs eingebunden...


----------



## L-ectron-X (19. Jan 2007)

Richtig muss es so ausehen:

```
<applet archive="Chatplatform.jar" code="DeineAppletKlasse.class" width="640" height="480" alt="Bitte Java aktivieren!"> 
    <param name="TestText" value="SELFHTML"> 
</applet>
```


----------



## Guest (19. Jan 2007)

jetzt ließt es zwar die Datei aber so wie wenn man sie im Editor anschaut, d.h. mit Vierecken zwischen den Buchstaben und an der Stelle von Leerzeichen und Zeilenumbrüchen...

Programm im Net

Eclipse Projekt im Zip Format

hab hier mal das erste zur Anschauung geschickt wies jetzt läuft und das Zweite um Fehler zu finden....


----------



## L-ectron-X (19. Jan 2007)

Damit man das Applet auch ausführen kann, muss es signiert sein. Daher erhalte ich eine AccessContollException, wenn ich auf den ersten Link klicke.


----------



## Lay-C (19. Jan 2007)

Es ist signiert... also die jar ist signiert.. bei mir kommt die Frage ob ich das applet ausführen will weil es von Lay-C signiert ist...

außerdem kommt noch der Fehler jetzt wieder....


```
java.security.AccessControlException: access denied (java.io.FilePermission data.dat read)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkRead(Unknown Source)
	at java.io.RandomAccessFile.<init>(Unknown Source)
	at java.io.RandomAccessFile.<init>(Unknown Source)
	at Chatplatform.init(Chatplatform.java:50)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
```


----------



## L-ectron-X (19. Jan 2007)

Bei mir nicht.


			
				L-ectron-X' Opera Java-Console hat gesagt.:
			
		

> java.security.AccessControlException: access denied (java.io.FilePermission data.dat read)
> at java.security.AccessControlContext.checkPermission(Unknown Source)
> at java.security.AccessController.checkPermission(Unknown Source)
> at java.lang.SecurityManager.checkPermission(Unknown Source)
> ...



Du musst schon die signierte Version auf den Server laden.
Sobald du deinen Code veränderst, neu kompilierst und eine neue Jar-Datei erzeugst, muss diese wieder signiert werden.


----------



## Guest (19. Jan 2007)

ok ich weiß woran es lag... habe die html datei auf dem Server noch nicht verändert gehabt  :bahnhof:  :idea: 
schau mal bitte obs jetzt funktioniert...


----------



## Proggy (19. Jan 2007)

Also, die Frage, ob ich's annehmen will, kommt bei mir auch. Mach da jetzt auch "mal mit", hab ähnliche Probleme.

Was ich nicht verstehe: Er behauptet ja, die Signierung sei ungültig (invalid). Obwohl beim Signieren mit jarsigner geschrieben wird, sie sei 6 Monate gültig.

Wie mache ich es, dass diese Meldung nicht mehr kommt

Meine Seite: http://www.ramschmarkt.de/zahlenspiel/formtest1.php

Könntest Du da mal nachsehen. Danke!


Gruß
Andreas


----------



## L-ectron-X (19. Jan 2007)

@ Lay-C: Ja. Geht. 
Wie du beschrieben hast wird der eingegebene Text durch Quadrate getrennt wieder ausgegeben.

Nur bezweifle ich, dass das so funktioeren wird, wie du das bisher gelöst hast. Man kann nicht auf diese Weise auf den Server schreiben und da eine Datei ablegen bzw. modifizieren.

Ein Chat funktioniert mit einem Server und vielen Clients, nicht mit einer Datei die lokal auf meiner Kiste abgelegt wird, denn so machst du es im Moment.

Eine Datei kannst du z.B. per FTP auf einen Server schreiben, aber wie gesagt, das ist für diesen Zweck die falsche Lösung.


----------



## Guest (19. Jan 2007)

ok trotzdem Danke.. und wie heißts so schön aus Fehlern lernt man...


----------

