tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
568
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    brucewayne brucewayne ist offline Grünschnabel
    Registriert seit
    Oct 2010
    Beiträge
    2
    Hallo, und ein kurzes aber großes Lob, in diesem Forum habe ich schon soviel gelernt, daß es nun an der Zeit wird, auch mal selbst eine Frage zu stellen

    Mein Problem:
    Ich habe ein Applet, welches eine XML Datei lädt, die sich in der .jar befindet.
    Applet ist signiert, XML wird über resource geladen, alles funktioniert in Eclipse.
    Sobald ich es im Browser laufen lassen will, geht es nicht mehr.
    Ich habe schon Stundenlang (wörtlich) im Internet nach Lösungen gesucht, bin mittlerweile am verzweifeln, ob es in einem Applet überhaupt möglich ist, eine XML zu laden (oder irgendeine andere Datei).

    probiert habe ich folgende aufrufe:
    Code :
    1
    
    URL path = this.getClass().getResource("/xml/movies.xml");
    Code :
    1
    
    URL path = ClassLoader.getSystemResource"xml/movies.xml");
    Code :
    1
    
    InputStream path = AppletClassLoader.getSystemResourceAsStream("xml/movies.xml");
    Code :
    1
    
    InputStream path = getClass().getResourceAsStream("/xml/movies.xml");

    alles dieses sollte dann (und funktioniert auch anstandslos in eclipse) zu meinen objekten führen:
    Code :
    1
    
    Movies movies = JAXB.unmarshal(path, Movies.class);
    Die Datei befindet sich in dem Resource-Folder: /res -> unterordner /xml/movies.xml
    (in der .jar-Datei wird es dann zu -> abc.jar!/xml/movies.xml)

    Das Applet wirft im Browser entweder NullpointerExceptions oder AccessDeniedExceptions, OBWOHL ich es (nach Anleitung von T. Darimont) signiert habe...

    Muss/kann ich die .xml-Datei auch signieren?
    Könnte ich die xml-Datei auch auf den Server legen? (habs schon versucht, dann findet er bei:
    Code :
    1
    
    URL path = this.getClass().getResource("http://www.eineseite.de/movies.xml");
    nicht mal in Eclipse die xml, obwohl ich genau die url im Browser eingeben kann und der Browser die xml dann öffnet.)

    Es ist zum verzweifeln...

    Edit:
    hier mal eine Beispiel-Fehlermeldung, TROTZ signiertem applets:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    
    java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
        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.checkMemberAccess(Unknown Source)
        at java.lang.Class.checkMemberAccess(Unknown Source)
        at java.lang.Class.getDeclaredConstructor(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator.hasDefaultConstructor(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator.hasDefaultConstructor(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.ClassInfoImpl.<init>(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.RuntimeClassInfoImpl.<init>(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.createClassInfo(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.createClassInfo(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getClassInfo(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getClassInfo(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.RuntimeModelBuilder.getClassInfo(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getTypeInfo(Unknown Source)
        at com.sun.xml.internal.bind.v2.model.impl.ModelBuilder.getTypeInfo(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(Unknown Source)
        at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Unknown Source)
        at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
        at javax.xml.bind.ContextFinder.find(Unknown Source)
        at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
        at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
        at javax.xml.bind.JAXB$Cache.<init>(Unknown Source)
        at javax.xml.bind.JAXB.getContext(Unknown Source)
        at javax.xml.bind.JAXB.unmarshal(Unknown Source)
        at webinterface.controller.ImportMovies.loadMoviesFromXML(ImportMovies.java:36)
        at webinterface.controller.ImportMovies.loadMovies(ImportMovies.java:31)
        at webinterface.main.MainApplet.init(MainApplet.java:65)
        at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
    Ausnahme: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
    Geändert von brucewayne (10.10.10 um 10:46 Uhr)
     

  2. #2
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Also mit dem letzten kann ich dir vielleicht helfen:
    Applets dürfen nur von dem Server Dateien laden, von dem sie selbst geladen wurden (aus Sicherheitsgründen). Hast du dein Applet vom selben Server geladen?
     

  3. #3
    brucewayne brucewayne ist offline Grünschnabel
    Registriert seit
    Oct 2010
    Beiträge
    2
    Hallo genodeftest,

    meinen letzter Versuch (den mit der xml von der Website) habe ich nur in eclipse auspobiert, als es da schon nicht ging, hab ich mir garnicht erst die mühe gemacht, ne .jar zu erstellen, signen, hochladen etc.
    aber werde es dann später nochmal versuchen, ob es so klappt, wenn das applet auch auf dem server liegt.
     

Ähnliche Themen

  1. applet laden und dann wie im iframe anzeigen
    Von spooooongq im Forum Java
    Antworten: 0
    Letzter Beitrag: 26.08.09, 22:10
  2. Applet 3D! Laden einer .obj Datei meldet "access denied"
    Von jackisback im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 17.04.08, 15:32
  3. Aus Applet ein Html Dokument mit POST-Method laden
    Von lazydog im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 06.06.07, 14:53
  4. Java-Applet in eine Anwendung laden
    Von Kaiser206 im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 05.07.05, 16:27
  5. Datei Zugriff über Applet durch eine Policy - Datei
    Von Kian_the_klingon im Forum Java
    Antworten: 0
    Letzter Beitrag: 31.07.04, 20:23

Stichworte