Applet lässt sich nicht starten



  • Also gleich Servlets zu verwenden, ist doch vielleicht ein bisschen übertrieben, zumal nicht gleich auf jedem Webserver ´nen Application Server läuft und das für Anfänger vielleicht auch nicht gleich zu empfehlen ist.
    Wie gesagt, lesen geht auf dem Server ohne Probleme. Um Daten zu schreiben (so eine Textdatei z.B.) könntest du ja auch eine php-Seite(das unterstützen sicherlich mehr Webserver bzw. das ist auch auf Servern, auf denen man gemieteten webspace hat, eher verfügbar) schreiben, der du dann per POST oder GET (je nach Länge der Zeichenketten bei den einzelnen Aufrufen) die Daten übergeben kannst und die das ganze dann für dich auf dem Server speichert.
    Ich habe mir mal eine Klasse für solche Http-Anfragen geschrieben, wenn du willst, kann ich dir die Klasse bzw. den Quellcode schicken.



  • Sgt. Nukem schrieb:

    Also wenn Du die Aufgaben.txt einfach nur vom Server lesen willst, geht das auch mit Applets problemlos!
    Keine Ahnung auf was GPC hinauswill?!?
    Du kannst natürlich nicht so ohne weiteres was auf dem Server speichern - also wieder was zurückschreiben (Highscores?) ist nicht so simpel. Vielleicht meint er das.

    Oha, er will ja nur lesen, na dann tut's natürlich das Applet schon, ich war bis gerade eben der Meinung, er wolle auch schreiben, muss mich wohl verlesen haben.



  • Also das Applet soll in meiner Seite http://www.phynet.de in den php code eingebaut werden, so dass unter jedem Artikel Aufgaben kommen, mit denen man überprüfen kann, ob man den Artikel verstanden hat.

    Wen es interessiert, wir haben unsere Domain und Webspace von all-incl:
    http://www.all-incl.com/index.php?content=angebote_webpremium&partner=&domain=

    Pogo schrieb:

    Ich habe mir mal eine Klasse für solche Http-Anfragen geschrieben, wenn du willst, kann ich dir die Klasse bzw. den Quellcode schicken.

    Das wär nett 🙂 Mal schauen, ob ich es verstehe...



  • Bei mir ist das gleiche Problem, dass meine Applets nicht gelesen werden sollen. Ich soll mittels Servlets eine Seite erschaffen, die eine Applet aufruft.

    Code-Ausschnitt:

    PrintWriter out = res.getWriter();
        out
            .print("<HTML><HEAD><TITLE>Dokumentenliste für CIC</TITLE>"
                + "<link rel='stylesheet' type='text/css' href='../CIC/formate.css'></HEAD>"
                + "<BODY bgcolor=003F8B>"
                + "<table border='0' align='center'>"
                + "<div class='header'>Show Documentlist</div>"
                + "</table>"
                + "<div class='frame'>"
                + "<applet codebase='C:/Projekte/CIC/' code='HelloWorldApplet.class' width='200' height='100'></applet>"
                + "</div>"
                + "</Body></Html>");
      }
    

    Ich hab somit ja den absoluten Pfad angegeben, aber das Applet kann weder im IE noch im FF angeschaut werden. In beiden ist alles aktiviert, dass es eigentlich funktionieren müsste, aber ich bin mir auch gerade unsicher woran das liegt.

    PS: Wundert euch nicht über die '-Zeichen, weil bei Servlets muss man das so schreiben, damit der Ausdruck, der in diesen Anführungszeichen steht, als String erkannt werden kann.



  • Ich hab es immernoch nicht hinbekommen 😞

    http://www.phynet.de/asd.html

    da ist das applet eingebaut. wie ihr feststellen könnt, funktioniert es nicht. die Aufgaben.txt ist im gleichen ordner.
    den code für das applet habe ich hier:

    www.phynet.de/private/snOOfy/ExerciseApplet.java

    Kann mir wer sagen, was ich ändern muss?



  • Anscheinend fehlt ihm eine anonyme Klasse, wahrscheinlich eine von deinen Action-Listenern. Hast du ALLE vom Compiler produzierten Class Dateien in das Verzeichniss gepackt?



  • nee, hatte ich nicht^^
    aber jetzt habe ich das getan, und es funktioniert immer noch nicht.

    hier ist mal mein netbeans projekt mit den beiden .java dateien und den .class dateien. vielleicht kriegt das ja irgendwer hin, dass man das online starten kann:

    www.phynet.de/PhyNet.rar



  • Jo, seh's grad, jetzt kriegst du ne FilePermission Error: Hast du auch Schreib/Lese Zugriff auf die Datei Aufgaben.txt?
    Bin noch beim Arbeiten, wenn ich heimkomme, schau ich's mir mal genauer an, sofern du's bis dahin noch nicht selber hingekriegt hast.



  • Hast du auch Schreib/Lese Zugriff auf die Datei Aufgaben.txt?

    hmm, weiß nich... also ICH habe da schreib/lese zugriff drauf, ich hab sie ja da hinkopiert. aber woher weiß, ob das mein applet das auch hat?

    wenn ich heimkomme, schau ich's mir mal genauer an

    cool, das wär nett! ich glaube nich, dass ich das vorher noch hinkriege 😞



  • Also hab's grad entpackt (mach doch bitte ein zip draus 🙂 ), ne kurze HTML-Seite drumrumgebastetelt (codebase entfernt und Applet größer gemacht), in den Ordner mit den class Dateien reingelegt, dann noch die Aufgaben.txt in den selben Ordner reingepackt und funktioniert hat's. Hat die Datei gelesen, die Auswahlmöglichkeiten gebracht usw.

    Kleiner Tipp am Rande: Lösch die JTextArea bei nem Klick auf Vorherige/Nächste mit jTextArea1.setText("");



  • Hier noch als Vervollständigung:
    So muss es in dem Verzeichniss aussehen, in dem dein Applet liegt, hier liegt jetzt auch die HTML Seite und die Aufgaben.txt drin

    [b]Aufgaben.txt* [/b]           ExerciseApplet$2.class*  ExerciseApplet.class*
    CExercise.class*         ExerciseApplet$3.class*  [b]ExerciseApplet.html*[/b]
    ExerciseApplet$1.class*  ExerciseApplet$4.class*  TestApplet.class*
    

    Und so hab ich deine HTML - Datei geschrieben:

    <HTML>
    <HEAD>
       <TITLE>PhyNet</TITLE>
    </HEAD>
    <BODY>
    
    <H3><HR WIDTH="100%">Applet HTML Page<HR WIDTH="100%"></H3>
    
    <P>
    <APPLET code="ExerciseApplet.class" width=1024 height=768></APPLET>
    </P>
    
    <HR WIDTH="100%"><FONT SIZE=-1><I>Generated by NetBeans IDE</I></FONT>
    </BODY>
    </HTML>
    


  • 😞
    Es geht immer noch nicht.
    Der Ordner:
    http://www.phynet.de/private/snOOfy/AppletOrdner.gif
    Die html Datei ist genau so, wie du gesagt hast.

    Und bei mir funktioniert es trotzdem nicht:
    www.phynet.de/Applet/ExerciseApplet.html

    Woran kann das nur liegen?

    edit:
    ok, es liegt am lese/schreibzugriff:

    Java Konsole schrieb:

    java.security.AccessControlException: access denied (java.io.FilePermission Aufgaben.txt read)

    Aber was kann man da machen?



  • Soweit komm ich gar nicht, ich krieg schon vorher ne Exception (sitz hier grad an nem anderen Rechner mit Java 1.4), du solltest mit target 1.4 kompilieren, sonst schauen alle die, die nicht deine Version des JDK haben, in dir Röhre.
    Wenn das behoben ist, dann gehen wir die andere Exception an.





  • Cool, aber eins hatte ich vorher vergessen: Bei Versionen vor Java 1.5 musste man noch getContentPane().setLayout(); schreiben, bei der neuen kann man sich das getContentPane() (endlich) sparen. Also entweder du packst das rein, oder du wartest bis ich wieder daheim bin, und 1.5 hab.
    Mich wundert aber die I/O Exception, da du ja sagtest, du hättest alle Rechte auf die Aufgaben.txt, bei mir hat das bisher immer anstandslos funktioniert, wenn ich lesen wollte.



  • Es wird dich nicht freuen, aber hab das grad in der FAQ gefunden: http://www.c-plusplus.net/forum/viewtopic-var-t-is-41397.html



  • omg, ich versteh nur Bahnhof 😞
    Kannst du da rauslesen, was ich machen muss? Ich ja nicht. (Klar, irgendwie Rechte vergeben, aber wie? und was soll das mit den keys 😕 )



  • Ich seh' in Deinem Code was von

    brdDataBase = new BufferedReader(new FileReader(sFileName));

    Das kann natürlich nicht funktionieren. FileReader ist für lokale Dateien. Dein Applet wird ja nicht auf dem Server (wo die Aufgaben.txt liegt), sondern auf dem Client ausgeführt.
    Du mußt vielmehr eine Netzwerkverbindung öffnen.

    Ungefähr so:

    URL datei = new URL("http://physnet.com/kram/Aufgaben.txt");
    URLConnection uc = datei.openConnection();
    uc.connect();
    uc.getInputStream();
    ...

    :xmas1:



  • Das in dem Link ist sowas wie ein Verifizierungsprozess für Applets, damit es z.B. auf der lokalen HDD wildern kann, so wie die ActiveX Scheiße von MS. Elise hat ihr Applet jedenfalls zum Servlet gemacht.

    However, mit Sgt. Nukems Lösung muss es auch so funktionieren, denn du willst ja nur auf dem Server lesen, und nicht beim User.

    Btw. Warum habt ihr das nicht php - basiert gemacht? Hätte dir viel Arbeit gespart...


Anmelden zum Antworten