tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
521
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von port29
    port29 port29 ist offline deus.Server
    Registriert seit
    Dec 2001
    Ort
    Karlsruhe, Germany, Germany
    Beiträge
    856
    Hallo Leute,

    ich entwickle gerade eine Website mit Hilfe des GWT und stehe gerade vor einem kleinen Problem. Manche Browser cachen den generierten JS Quellcode, sodass dieser nicht zum Servlet kompatibel ist, mit dem dann kommuniziert wird. Meine Idee war deshalb folgende:

    Ich habe eine statische Variable in einer Klasse, die sowohl das JS als auch das Servlet benutzt. Und beim ersten Verbindungsaufbau wird dann die ID überprüft. Stimmt die nicht, so wird eine Meldung ausgegeben, die den Nutzer dazu auffordert, den Cache des Browsers zu löschen.

    Das ganze funktioniert auch ganz gut, nur ist mir aufgefallen, dass ich in letzter Zeit geschlampt habe. Ich habe ganz einfach die ID vergessen zu erhöhen, bevor ich die Website deployed habe.

    Deshalb wollte ich fragen, ob es irgendwie eine Möglichkeit besteht, während des Kompilierens einen String zu definieren, der dann als ID verwendet wird.
     

  2. #2
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Wie ist denn dein Buildprozess? Benutzt du ant oder so? Da könnte man das wunderbar integrieren.
     

  3. #3
    Avatar von port29
    port29 port29 ist offline deus.Server
    Registriert seit
    Dec 2001
    Ort
    Karlsruhe, Germany, Germany
    Beiträge
    856
    Leider wird Ant als builder genutzt, sondern ein eigener Compiler. Ich schreibe ja Java Quelltext und dieser wird anschließend in ein JS Quelltext übersetzt und in die erstellte WAR Datei eingefügt. Die WAR Datei werfe ich dann Tomcat zum fraß vor und schon läuft die Seite.
     

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    bei der richtigen Webserver Konfiguration sollte das kein Problem sein.
    Verwendest du Tomcat und einen (per Basic Auth / From Auth / sonstwie) geschützten Bereich?
    Sendet dein Webserver im HTTP Antwort Header Pragma no-cache bzw. Cache-Control no-cache für die *.nocache.html Seiten mit?

    Schau mal hier:
    http://groups.google.com/group/Googl...5e842131dbf82d
    http://groups.google.com/group/Googl...32fa76f9bae6b4

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  5. #5
    Avatar von port29
    port29 port29 ist offline deus.Server
    Registriert seit
    Dec 2001
    Ort
    Karlsruhe, Germany, Germany
    Beiträge
    856
    Zitat Zitat von Thomas Darimont Beitrag anzeigen
    bei der richtigen Webserver Konfiguration sollte das kein Problem sein.
    Hmm... Ich denke, es hat nicht primär etwas mit der Webserver Konfiguration zutun. Wieso das so ist, werde ich am Ende schreiben.

    Zitat Zitat von Thomas Darimont Beitrag anzeigen
    Verwendest du Tomcat und einen (per Basic Auth / From Auth / sonstwie) geschützten Bereich?
    Jain, die Seite besteht aus zwei Bereichen. Ein Bereich ist der Public, wo z.B. die Startseite, das Impressum, etc. angezeigt werden. Und dann gibt es einen internen Bereich, bei dem sich die Benutzer mit Benutzernamen + Passwort oder einem Key anmelden können. Jede Anfrage, die an den Server gerichtet wird, hat bei mir ein "Security" Objekt als Parameter, er enthält eben den Key und die "VersionsID".

    Zitat Zitat von Thomas Darimont Beitrag anzeigen
    Sendet dein Webserver im HTTP Antwort Header Pragma no-cache bzw. Cache-Control no-cache für die *.nocache.html Seiten mit?
    Der Webserver sendet nach dem Aufrufen der Seite zwei Dateien. Die eine ist eine 7D09697150876A53D2462A485F3490C7.cache.html (600kb) und eine .....nocache.js (6kb)

    Jetzt gibt es drei Problemfälle.

    a) Es ändert sich etwas an den Servlet Klassen, während ein Benutzer die Website offen im Browser hat. (Die Seite wird ja nur einmal geladen und tut so, als ob es eine "richtige" Anwendung ist)

    b) Wird die Seite jedes Mal aus dem Cache geladen, dann kann es für manche Benutzer etwas "teuer" werden. Denn die Zielgruppe hat eher einen langsamen bzw. mobilen Internetanschluss

    c) Man kann zwar alles mögliche in den Browserheader reinschreiben, aber ob und wann sich der Browser daran hält, steht leider in den Sternen.

    Aus diesem Grund habe ich diese Versionsnummern Geschichte eingeführt. Das Problem ist eben, dass ich ab und zu vergesse diese zu erhöhen. Bei GUI Änderungen ist das ganze kein Problem, aber sobald da RPC Calls geändert wurden, wird es schon etwas kritischer.
     

  6. #6
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo,

    eshalb wollte ich fragen, ob es irgendwie eine Möglichkeit besteht, während des Kompilierens einen String zu definieren, der dann als ID verwendet wird.
    Das geht indirekt... via Textersetzung kurz vor dem Kompilieren. Beispielsweise über Ants replace-Task
    http://ant.apache.org/manual/CoreTasks/replace.html
    http://www.rgagnon.com/javadetails/java-0532.html

    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

Ähnliche Themen

  1. Aus CSS XSL generieren
    Von CikoNo1 im Forum XML Technologien
    Antworten: 1
    Letzter Beitrag: 11.07.08, 18:33
  2. pdf generieren
    Von keks1984 im Forum .NET Web und Kommunikation
    Antworten: 1
    Letzter Beitrag: 24.10.07, 09:37
  3. MD5 generieren
    Von r3ddragon im Forum PHP
    Antworten: 25
    Letzter Beitrag: 01.06.07, 15:42
  4. PDF generieren!
    Von Hampfibius im Forum PHP
    Antworten: 5
    Letzter Beitrag: 24.07.05, 12:34
  5. PDF mit FDF per PHP generieren
    Von nullpunkt im Forum PHP
    Antworten: 0
    Letzter Beitrag: 28.01.05, 15:04