ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
521
521
EMPFEHLEN
-
03.05.08 19:20 #1
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.
-
Wie ist denn dein Buildprozess? Benutzt du ant oder so? Da könnte man das wunderbar integrieren.
-
04.05.08 14:43 #3
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.
-
05.05.08 14:32 #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ß TomJava 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
-
05.05.08 18:08 #5
Hmm... Ich denke, es hat nicht primär etwas mit der Webserver Konfiguration zutun. Wieso das so ist, werde ich am Ende schreiben.
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".
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.
-
05.05.08 19:01 #6
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
Das geht indirekt... via Textersetzung kurz vor dem Kompilieren. Beispielsweise über Ants replace-Taskeshalb wollte ich fragen, ob es irgendwie eine Möglichkeit besteht, während des Kompilierens einen String zu definieren, der dann als ID verwendet wird.
http://ant.apache.org/manual/CoreTasks/replace.html
http://www.rgagnon.com/javadetails/java-0532.html
Gruß TomJava 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
-
Aus CSS XSL generieren
Von CikoNo1 im Forum XML TechnologienAntworten: 1Letzter Beitrag: 11.07.08, 18:33 -
pdf generieren
Von keks1984 im Forum .NET Web und KommunikationAntworten: 1Letzter Beitrag: 24.10.07, 09:37 -
MD5 generieren
Von r3ddragon im Forum PHPAntworten: 25Letzter Beitrag: 01.06.07, 15:42 -
PDF generieren!
Von Hampfibius im Forum PHPAntworten: 5Letzter Beitrag: 24.07.05, 12:34 -
PDF mit FDF per PHP generieren
Von nullpunkt im Forum PHPAntworten: 0Letzter Beitrag: 28.01.05, 15:04





Zitieren


Login





