Christian: Dateien öffnen und auslesen

Hallo Java-Spezialisten,

ich suche nach einer Möglichkeit mittels Java (oder eventuell hat ja jemand einen ganz anderen Läsungsanzatz) eine Datei zu öffnen und den Inhalt in einer webseite anzuzeigen.

Problem:
die Seite enthält eine ganze Menge an Daten und wird ca. alle 2 sec. aktualisiert.
Die Seite alle 2 sec. mittels autoreload komplett vor server zu laden währe zu Zeitaufwendig.
Also habe ich mir gedacht, nur die seit dem letzten Aufruf hinzugekommenen Zeilen mittels eines Scripts vom Server zu laden um sie dann in die bereits angezeigte Seite zu schreiben. Die neuen Zeilen sollten dabei allerdings nicht unten angehängt werden, sondern oben drauf gesetzt werden, die alten einträge laufen dadurch sozusagen unden weg.
Die Datei, welche die Daten seit dem letzten Abruf bereitstellt, ist eine PHTML-Datei, die Ihrerseits die Daten von einem SQL-Server abholt also z.B. "daten.phtml".
Das Script muß also 1. Daten aus der Datei lesen; 2. Daten oben in die bestehende HTML-Seite schreiben; 3. 2sec. oder so warten und weiter mit 1..

Kann mir da jemand helfen bitte?

Dank und Gruß

  1. Hallo Christian,

    Was Du machen willst, ist eigentlich die neu dazugekommenen Daten im Webbrowser anzuzeigen. Wenn nicht die gesamte Datei neu geladen werden soll, und Du eh mit einem JAVA-Applet arbeiten willst, wäre es am besten das Applet baut eine eigene Datenbankverbindung zum SQL-Server auf. Dafür muss aber der Web Server auf der gleichen Maschine wie die Datenbank laufen. Wenn das so nicht geht, könntest Du ein Applet schreiben, dass in einem bestimmten Intervall einen HTTP-Request an ein Script richtet, (PHP oder CGI) das Script muss dann nur die neu hinzugekommenen Daten von der Datenbank lesen, und diese an das Applet senden.
    Bei Lösungen ohne Java-Applet besteht immer das Problem, dass die neu geschreibenen Daten unten angehängt werden. Könnte aber auch sein, dass es da ein paar Tricks gibt das andersrum zu machen.

    Gruss

    Marko

    1. Hallo Marko,

      vielen Dank für die Antwort, aber es ist aus sicherheitstechnischen Gründen nicht möglich von externen systemen auf die Datenbank zuzugreifen, da der Zugriff nur von bestimmten Rechnern aus erlaubt ist.
      Darum der Umweg über die PHP-funktion.

      Gruß
      Christian

      1. Hi Christian.

        es ist aus sicherheitstechnischen Gründen nicht möglich von externen systemen auf die Datenbank zuzugreifen, da der Zugriff nur von bestimmten Rechnern aus erlaubt ist.
        Darum der Umweg über die PHP-funktion.

        Warum dann kann doch die php-Seite nur die entspr. Daten zurückgeben.

        Das Applett generiert eine Session-ID, sendet diese an die php-Seite.
        php schaut lokal nach (in Datei, über Session-ID identifiziert), stellt dann die entspr. query an die Datenbank und liefert dann die neuen Daten zurück.
        Anschließend wird der neue Status in die lokale Datei geschrieben.

        Die Query müsstest Du doch entspr. formulieren können, dass nur die neuen Daten zurückgeliefert werden, oder?
        Ansonsten gäbe es (in Perl) Sachen wie "@array = reverse @array" (dreht ein Array um) oder auch "for ($temp=0;$temp==-1; $temp--) { (...) }".
        Ähnliche Sachen dürften doch wohl auch in php gehen.

        das müsste doch gehen, oder?
        fs