Timestamp in Url

Status
Nicht offen für weitere Antworten.
S

spoofs

Gast
Hallo,

ich möchte gerne um Browsercaching zu verhindern einen Timestamp an die URLs meiner Webanwendung (JSF) hängen. Nur wie mache ich das? Oder besser an welcher Stelle? Irgendwie weiß ich da nicht weiter.


Gruß,
spoofs
 

meez

Top Contributor
Es gibt einen Meta Tag der Browser Caching verhindert...Frag mich jetzt aber nicht mehr wie der heisst...
Such halt mal im Netz danach...
 
S

spoofs

Gast
Hallo,

danke, das weiß ich aber ich wollte explizit einen Timestamp an die URL hängen.

Selbst wenn auch hier habe ich wieder das Problem, WO mache ich das? Macht man sowas über nen Filter?

Gruß,
spoofs
 
S

spoofs

Gast
Hallo nochmal,

also ich hab das jetzt mal mit den Metatags versucht und habe einen PhaseListener genommen, der laut Recherche wunderbar funktionieren soll:

Code:
public class CacheControlPhaseListener implements PhaseListener {
	
    public PhaseId getPhaseId() {
        return PhaseId.RENDER_RESPONSE;
    }
    
    public void afterPhase(PhaseEvent event) {}
    
    public void beforePhase(PhaseEvent event) {
        FacesContext facesContext = event.getFacesContext();
        HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
        response.addHeader("Pragma", "no-cache");
        response.addHeader("Cache-Control", "no-cache");
        response.addHeader("Cache-Control", "must-revalidate");
        response.addHeader("Expires", "Mon, 8 Aug 2006 10:00:00 GMT"); // some date in the past
    }
}

Aber woran kann ich nun wirklich sehen ob er funktioniert? Wie teste ich das am besten...ich wollte mir den Header der response rausgeben lassen, aber das geht nur bei request...

gruß
spoofs
 
S

SlaterB

Gast
mache ein
System.out.println("Elvis was here");
in beforePhase(), dann merkst du es ;)

in HttpServletResponse gibts übrigens

boolean containsHeader(java.lang.String name)
Returns a boolean indicating whether the named response header has already been set.
 
S

spoofs

Gast
Hallo,
ja so ein System.out. hab ich gemacht und es kommt. Aber müßte ich nicht die Metatags anschließend im HTML-Quellcode sehen?

Und wenn ich den Browser-Back Button betätige ändert sich nichts zum vorherigen Zustand ohne PhaseListener...deswegen bin ich etwas verwundert...

Gruß,

spoofs
 
S

SlaterB

Gast
Header stehen nicht im HTML-Quellcode der vom Browser angezeigt wird

obs nun funktioniert oder nicht und wann und bei welchen Browser/ welchen Einstellungen..,
ohne Testen, ohne da gerade drin zu sein sehr schwer zu sagen
 
S

spoofs

Gast
okay, aber mit JSP kann man sich ja die gesetzten Header ausgeben lassen und ich denke da sollten doch dann die Informationen die ich zuvor gesetzt hat drinstehen aber tun sie auch nicht, oder liege ich da falsch?

Gruß,
spoofs
 
S

SlaterB

Gast
wie du selbst sagtest gibts kein getHeader,
sondern wie ich sagte nur containsHeader,

natürlich kannst du das dann ausgeben, was genau klappt nicht?
welchen Code benutzt du?
 
S

spoofs

Gast
Hallo,

also ich lass mir auf meinen Seiten folgendes ausgeben:

Code:
  <%
        java.util.Enumeration names = request.getHeaderNames();
        while (names.hasMoreElements()) {
            String name = (String)names.nextElement();
            out.println(name+": "+request.getHeader(name));
        }
    %>

und wenn ich den Header in nem PhaseListener vorher bestimmte Parameter zuschustere dann sollte der die doch dann auch ausgeben oder nicht?
Das spuckt er mir aber aus:
host: localhost:8080 user-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8 accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 accept-language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 accept-encoding: gzip,deflate accept-charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 keep-alive: 300 connection: keep-alive referer: http://localhost:8080/App/index2.jsf;jsessionid=6FF92C3A77A38E14228F8B1AB58AD73F cookie: JSESSIONID=6FF92C3A77A38E14228F8B1AB58AD73F

gruß,
spoofs
 
G

Guest

Gast
oh man, bin heut nicht auf der Höhe. Klar hast recht...also kann ich mittels containsHeader prüfen ob der Parameter gesetzt ist?
 
S

SlaterB

Gast
coole Frage, hmm, was antworte ich nur,
ach ich bleib erstmal beim bisherigen, eh schon 2x wiederholt:
ja ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Timestamp lesen Java Basics - Anfänger-Themen 6
P "Datestamp" to Date oder Timestamp Java Basics - Anfänger-Themen 15
Errorfield Erste Schritte Timestamp DB Java Basics - Anfänger-Themen 18
F Timestamp auf volle Einheit abrunden Java Basics - Anfänger-Themen 9
M Methoden Aus Timestamp das Datum berechnen Java Basics - Anfänger-Themen 3
B Wie aus einem Datum String eine Timestamp erzeugen Java Basics - Anfänger-Themen 6
J TimeStamp Java Basics - Anfänger-Themen 5
Y Datei auf Dektop mit timestamp Speichern Java Basics - Anfänger-Themen 5
D Timestamp -> Datum Java Basics - Anfänger-Themen 6
E Timestamp umwandeln in Datumsangabe Java Basics - Anfänger-Themen 2
Assassin Timestamp erzeugen.. Java Basics - Anfänger-Themen 7
G String in Timestamp? Java Basics - Anfänger-Themen 2
J MySQL Timestamp "lesbarer" gestalten Java Basics - Anfänger-Themen 6
G Unterschied zwischen SQL Timestamp und Java Java Basics - Anfänger-Themen 2
G Timestamp in Minuten umrechnen Java Basics - Anfänger-Themen 8
M log4j Unterverzeichnis mit Datum , Timestamp in LogDateiname Java Basics - Anfänger-Themen 2
J aktuellen Timestamp ziehen Java Basics - Anfänger-Themen 3
G Timestamp - Timestamp Java Basics - Anfänger-Themen 8
G Timestamp zu Datum und umgekehrt Java Basics - Anfänger-Themen 7
G Timestamp zu Stunde:Minute Java Basics - Anfänger-Themen 2
A Timestamp nach Datum - Datum nach Timestamo Problem ! Java Basics - Anfänger-Themen 2
M Doppelte Einträge in einer datei löschen(nach timestamp)! Java Basics - Anfänger-Themen 4
P Timestamp zu Datum machen Java Basics - Anfänger-Themen 4
J gregorian calender zu java.sql.timestamp problem Java Basics - Anfänger-Themen 3
M Zeitzonen unabhängigen Timestamp in DB speichern Java Basics - Anfänger-Themen 7
S String in Unix Timestamp Java Basics - Anfänger-Themen 11
G Timestamp mal wieder Java Basics - Anfänger-Themen 2
J timestamp Java Basics - Anfänger-Themen 7
W Datum to TimeStamp in Millis Java Basics - Anfänger-Themen 7
S Unix Timestamp entschlüssen Java Basics - Anfänger-Themen 6
H Text in Timestamp umwandeln Java Basics - Anfänger-Themen 3
Z TimeStamp aus MySQL DB umwandeln? Java Basics - Anfänger-Themen 2
S Datum in Unix-Timestamp umwandeln Java Basics - Anfänger-Themen 5
G Update auf Datenbankspalte vom Typ Timestamp mit aktu. Datum Java Basics - Anfänger-Themen 3
A Timestamp Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben