Datei auf Server auslesen

Von: , Frage gestellt am Di, 14. Nov 2000

Hallo zusammen,
ich habe folgendes Problem: Ich möchte von einem Applet aus eine Datei auf dem Server auslesen. Ich möchte diese Datei (TXT-Datei) sozusagen als Datenbankersatz verwenden. Gibt es eine Möglichkeit, dies zu realisieren ?

Ich habe bereits eine Klasse hierzu geschrieben, die im Appletviewer auch funktioniert (FileReader, BufferedReader). Aber die Browser bringen immer eine "java.io.FilePermission". Scheinbar hat das Applet die nötigen Rechte nicht.

Gibt es irgendwelche Tricks ?

Ciao
Jochen
[E-Mail-Adresse entfernt]
www.duerr.jochen.de

7 Antworten zu dieser Frage

  1. Antwort von nach 10 Stunden hilfreich
    Re: Datei auf Server auslesen


    *schmunzel*

    Tja, mit dem FileReader kann das nicht gehen!! Das Applet läuft auf irgend einem Browser irgendwo im Netz. Das hat in der Regel keinen Zugriff auf Dateien des Servers. (Es sei denn das Filesystem des Servers ist über das Lokale Netz eingebunden - Stichwort Laufwerkfreigabe, Samba .., aber selbst dann ist das nicht die saubere Art!)
    Der andere Grund ist der, dass das Applet in einer 'Sandbox' läuft, die keinen Zugriff auf lokale Dateien zulässt.
    Was die Sandbox sehr wohl erlaubt sind weitere Netzwerkverbindungen zum Server. Am einfachsten ist es also, wenn Du die Datei auch über den HTTP-Server zur Verfügung stellst und sie mit java.net.HttpURLConnection in deinem Applet vom Server holst.

    Gruß
    Benky

  2. Antwort von nach 11 Stunden hilfreich
    Re: Datei auf Server auslesen

    Moin, Ich habe bereits eine Klasse hierzu geschrieben, die im
    Appletviewer auch funktioniert (FileReader, BufferedReader).
    Aber die Browser bringen immer eine "java.io.FilePermission".
    Scheinbar hat das Applet die nötigen Rechte nicht.
    Benutze Netzwerkprotokolle. Mit Dateiprotokollen greifst Du auf den Rechner zu, auf dem das Applet läuft.

    Thorsten

  3. Antwort von nach 11 Stunden hilfreich
    Re: Datei auf Server auslesen

    ich habe folgendes Problem: Ich möchte von einem Applet aus
    eine Datei auf dem Server auslesen. Ich möchte diese Datei
    (TXT-Datei) sozusagen als Datenbankersatz verwenden. Gibt es
    eine Möglichkeit, dies zu realisieren ?
    Eine weitere Möglichkeit zu den bereits genannten wäre es eine RMI-Klasse zu schreiben die dann am Server läuft und den Zugriff auf die Datei übernimmt.

    Im Applet greifst du dann über RMI auf diese Klasse zu.

    RMI-Programmierung ist relativ simpel, schau dir mal die Beispiele unter folgendem URL an:
    http://java.sun.com/products/rmi-iiop/index.html

    Grüße, Robert

    • Antwort von nach 15 Stunden hilfreich
      Re^2: Datei auf Server auslesen

      Eine weitere Möglichkeit zu den bereits genannten wäre es eine
      RMI-Klasse zu schreiben die dann am Server läuft und den
      Zugriff auf die Datei übernimmt.

      Im Applet greifst du dann über RMI auf diese Klasse zu.

      RMI-Programmierung ist relativ simpel, schau dir mal die
      Beispiele unter folgendem URL an:
      http://java.sun.com/products/rmi-iiop/index.html

      Grüße, Robert
      1. Dann versuch das mal über eine Firewall bzw. Proxy-Server!!!
      2. Versuch mal nem Provider beizubringen, dass er unbedingt Java auf dem Freespace-Server installieren muss!!
      3. Warum soll er nicht gleich ein völlig neues Netzwerk-Protokoll entwickeln um an seine Datei zu kommen?? Hab mal gehört, man kann einen Spatz auch fangen indem man mit ner Kanone auf ihn schießt. ;o)

      Gruß
      Benky

      • Antwort von nach 21 Stunden hilfreich
        Re^3: Datei auf Server auslesen

        1. Dann versuch das mal über eine Firewall bzw.
        Proxy-Server!!!
        RMI läuft über HTTP-Proxy. Auch über Firewall wenn man den entsprechenden Port freischaltet. 2. Versuch mal nem Provider beizubringen, dass er unbedingt
        Java auf dem Freespace-Server installieren muss!!
        Nojo, irgendwelche serverseitige Logik muss geboten werden, wenn er serverseitig Daten speichern will. Muß nicht Java sein, aber da sich die Frage um Java drehte ... 3. Warum soll er nicht gleich ein völlig neues
        Netzwerk-Protokoll entwickeln um an seine Datei zu kommen??
        Hab mal gehört, man kann einen Spatz auch fangen indem man mit
        ner Kanone auf ihn schießt. ;o)
        Da muss man kein neues Netzwerkprotokoll entwickeln, das gibts schon von Sun. :-)

        Und ob die Methode für seine Zwecke zu aufwendig ist, muß er halt entscheiden, ich habe nur geschrieben, dass es so machbar ist (und wie gesagt nicht sehr aufwendig/kompliziert).

        Grüße, Robert

        • Antwort von nach einem Tag hilfreich
          Re: Datei auf Server auslesen

          Moin, 2. Versuch mal nem Provider beizubringen, dass er unbedingt
          Java auf dem Freespace-Server installieren muss!!
          Nojo, irgendwelche serverseitige Logik muss geboten werden,
          wenn er serverseitig Daten speichern will. Muß nicht Java
          sein, aber da sich die Frage um Java drehte ...
          Es wird vermutlich HTTP sein. Und ob die Methode für seine Zwecke zu aufwendig ist, muß er
          halt entscheiden, ich habe nur geschrieben, dass es so machbar
          ist (und wie gesagt nicht sehr aufwendig/kompliziert).
          Er will eine .txt-Datei lesen. Das dürfte mit HTTP einfacher sein als mit RMI.

          Thorsten

          • Antwort von nach einem Tag hilfreich
            Re^2: Datei auf Server auslesen

            Er will eine .txt-Datei lesen. Das dürfte mit HTTP einfacher
            sein als mit RMI.
            Wenns ums reine lesen geht, dann bestimmt, falls aber auch Schreiben ...

            Grüße, Robert

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!