# Applet startet nicht



## Illuminatus0301 (12. Nov 2006)

Hi,
ich hab ein Applet geschrieben, was HTML-Datein auf dem gleichen Server ausliest, und danach die Informationen weiter verarbeitet (die HTML-Seiten sind Sport-Tabellen und das Applet mach eine "Fieberkurve" draus)! so wenn ich jetzt das Applet über Eclipse anzeigen lassen klappt alles ohne Probleme! Doch wenn ich jetzt das Applet in eine HTML-Seite einbinde kommt nur die Fehlereldung "Applet Notinited". Ich hab schon das Forum und den Rest des iNets durchgesucht, hab aber nicht gefunden, womit ich was anfangen konnte. Ich hab mal rausgekriegt, dass es wohl daran liegt, dass ich irgendetwas in der init-Mathode nicht darf.

Mein Code:

```
public class Kurve extends Applet 
{
    public void init()
    {
         readData();
    }

    public void readData()
    {
        URL url = new URL("file:/" + new File(Quelle).getAbsolutePath());
	URLConnection connection = url.openConnection();
	BufferedReader Reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    }
}
```
(Rest hab ich auskommentiert und die Meldung kommt trotzdem)

Fehlermeldung:

```
Java Plug-in 1.5.0_09
Verwendung der JRE-Version 1.5.0_09 Java HotSpot(TM) Client VM
Home-Verzeichnis des Benutzers = C:\Dokumente und Einstellungen\Admin.JENS


----------------------------------------------------
c:   Konsolenfenster schließen
f:   Objekte in Finalisierungswarteschlange finalisieren
g:   Speicherbereinigung
h:   Diese Hilfemeldung anzeigen
l:   ClassLoader-Liste ausgeben
m:   Speicherbelegung anzeigen
o:   Protokollierung auslösen
p:   Proxy-Konfiguration neu laden
q:   Konsole ausblenden
r:   Richtlinien-Konfiguration neu laden
s:   System- und Bereitstellungseigenschaften ausgeben
t:   Threadliste ausgeben
v:   Thread-Stack ausgeben
x:   ClassLoader-Cache löschen
0-5: Trace-Stufe auf <n> setzen
----------------------------------------------------

Exception in thread "AWT-EventQueue-2" java.security.AccessControlException: access denied (java.util.PropertyPermission user.dir 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.checkPropertyAccess(Unknown Source)
	at java.lang.System.getProperty(Unknown Source)
	at java.io.Win32FileSystem.getUserPath(Unknown Source)
	at java.io.Win32FileSystem.resolve(Unknown Source)
	at java.io.File.getAbsolutePath(Unknown Source)
	at Kurve.readData(Kurve.java:92)
	at Kurve.paint(Kurve.java:27)
	at sun.awt.RepaintArea.paintComponent(Unknown Source)
	at sun.awt.RepaintArea.paint(Unknown Source)
	at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
```


----------



## Wildcard (12. Nov 2006)

Wenn du wirklich gesucht hättest, hättest du auch was gefunden, da das einsehr häufiges Problem ist  :wink: 
Ein nicht signiertes Applet läuft in einer Sandbox.
Das bedeutet das du eingeschränkte Rechte hast und unter anderem auch keine URLConnection machen kannst.


----------



## kaspurlu (12. Nov 2006)

Ja in einem Browser hat ein Applet nur bestimmte Rechte. Wenn man da mehr will muss man das Applet irgendwie signieren, frag mich aber nicht, was man da machen muss.


----------



## L-ectron-X (12. Nov 2006)

Zum Beispiel mal in die FAQ gucken?


----------



## Roar (12. Nov 2006)

Illuminatus0301 hat gesagt.:
			
		

> ich hab ein Applet geschrieben, was HTML-Datein auf dem gleichen Server ausliest


ne du hast ein applet geschrieben was dateien von der festplatte des benutzers ausliest. wär es so wie du sagtest, hättest du kein problem  ???:L


----------



## Illuminatus0301 (16. Nov 2006)

Das heißt, wenn ich ein Lokalehost, bzw. wenn es auf dem Server liegt die Server-Addresse zu der URL hinzufüge, dann klappt es...oder wie?


----------



## dsv fritz (16. Nov 2006)

Nein, überleg dir mal, wo was verwendet wird? Du hast ein Applet und diese werden auf dem Client ausgeführt. Wenn du also auf dem Server eine Datei bearbeiten möchtest , musst du eine Verbindung aufbauen und dann auch noch das Applet signieren lassen (Gratis Tipp: Java ist eine Insel... (pfannenfertige Lösung)) damit du zugriffsrechte hast.
Dummerweise ist bisher dein Server und der Client der gleiche Computer, der gleiche Account und dann noch der gleiche Benutzer.


----------



## don (4. Dez 2006)

Hallo,

ich habe da ein ähnliches Problem. Unter JRE 1.4.1_05 habe ich ein Applet problemlos zum laufen bekommen, sowohl unter Linux als auch Windows. Nun, mit einer neuen Java-Version JRE 1.5.0_06 funktioniert das Applet nur noch unter Linux.
Zur Info, das Applet ist in eine Webseite auf einem LAMP eingebunden, hier ist "sun-j2sdk1.5" installiert.
Als Fehlermeldung in der Javakonsole bekomme ich folgende Meldung:

```
basic: Applet wird angehalten...
basic: Fortschritts-Listener entfernt: sun.plugin.util.GrayBoxPainter@e0b6f5
basic: Informationen werden gesucht...
basic: ClassLoader wird freigegeben: sun.plugin.ClassLoaderInfo@10dd1f7, refcount=0
basic: ClassLoader wird im Cache abgelegt: sun.plugin.ClassLoaderInfo@10dd1f7
basic: Aktuelle Größe des ClassLoader-Cache: 1
basic: Fertig...
basic: Applet-Thread wird beigetreten...
basic: Applet-Thread wurde beigetreten...
basic: Nicht registrierter Modality-Listener
basic: Applet wird zerstört...
basic: Applet wird verworfen...
basic: Applet wird beendet...
basic: Registrierter Modality-Listener
liveconnect: JS-Methode wird gestartet: document
liveconnect: JS-Methode wird gestartet: URL
basic: ClassLoader wird referenziert: sun.plugin.ClassLoaderInfo@10dd1f7, refcount=1
basic: Fortschritts-Listener hinzugefgt: sun.plugin.util.GrayBoxPainter@a352a5
basic: Applet wird geladen...
basic: Applet wird initialisiert...
basic: Applet wird gestartet...
java.security.AccessControlException: access denied (java.util.PropertyPermission user.dir 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.checkPropertyAccess(Unknown Source)
	at java.lang.System.getProperty(Unknown Source)
	at java.io.Win32FileSystem.getUserPath(Unknown Source)
	at java.io.Win32FileSystem.resolve(Unknown Source)
	at java.io.File.getAbsolutePath(Unknown Source)
	at sun.awt.shell.Win32ShellFolder2.<init>(Unknown Source)
	at sun.awt.shell.Win32ShellFolder2.listFiles(Unknown Source)
	at sun.awt.shell.ShellFolder.listFiles(Unknown Source)
	at sun.awt.shell.Win32ShellFolderManager2.get(Unknown Source)
	at sun.awt.shell.ShellFolder.get(Unknown Source)
	at javax.swing.plaf.metal.MetalFileChooserUI.updateUseShellFolder(Unknown Source)
	at javax.swing.plaf.metal.MetalFileChooserUI.installComponents(Unknown Source)
	at javax.swing.plaf.basic.BasicFileChooserUI.installUI(Unknown Source)
	at javax.swing.plaf.metal.MetalFileChooserUI.installUI(Unknown Source)
	at javax.swing.JComponent.setUI(Unknown Source)
	at javax.swing.JFileChooser.updateUI(Unknown Source)
	at javax.swing.JFileChooser.setup(Unknown Source)
	at javax.swing.JFileChooser.<init>(Unknown Source)
	at javax.swing.JFileChooser.<init>(Unknown Source)
	at ZUpload.init(ZUpload.java:54)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
basic: Ausnahme: java.security.AccessControlException: access denied (java.util.PropertyPermission user.dir read)
Exception in thread "thread applet-ZUpload" java.lang.NullPointerException
	at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
	at sun.plugin.AppletViewer.showAppletException(Unknown Source)
	at sun.applet.AppletPanel.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
```
 Ich habe das JAR-File signiert, die .java.policy nochmals überprüft (auch mit permission java.security.AllPermission, und stehe jetzt ziemlich auf dem Schlauch.... Vorallem weil es ja vorher mit dem gleichen Code funktioniert hat...????

Nun bitte ich Euch um Eure Hilfe, wer kann mich in die richtige Richtung stoßen, woran könnte das noch liegen???

Vielen Dank, Gruß, 

Michael


----------



## L-ectron-X (4. Dez 2006)

dsv fritz hat gesagt.:
			
		

> (Gratis Tipp: Java ist eine Insel... (pfannenfertige Lösung)) damit du zugriffsrechte hast.


...oder mal in die FAQ gucken...


----------



## raven (5. Dez 2006)

Ich habe das gleiche Problem. Nur wird mein Applet nicht benutz um über das Internet irgendwo was zu machen. Es ist ein stink normal Applet. Und im Appletviewer funktioniert es und wenn in im Applet-Tag nur die Class-Datei angebe, Aber sobald ich im Applet-Tag (/src/spiel/datei.class) angebe, geht es nicht. Kann aber den Pfad verfolgen, da ich , wenn ich statt class, .java schreibe, öffnet er ja die source datei, und die Class existiert ja.

Hat einer eine Idee


----------



## Leroy42 (6. Dez 2006)

Als codebase im Applet-Tag kannst du nicht sowas wie

/src/spiel/datei.class

angeben, da du dich damit auf das root-Verzeichnis versuchst zu beziehen:


Values for this attribute may only refer to subdirectories of the directory containing the current document


----------



## raven (6. Dez 2006)

Ich hab das Problem gelöst und hab mein spiel in eine jar gepackt. und es hat funktionier. So hab ich es gemacht:


```
<applet name="Spiel" code="Main.class" archive="./src/spiel/Spiel.jar" width="500" height="400">
</applet>
```


----------

