|
| JSP / opdatering af side Fra : Henry Vest |
Dato : 06-08-01 09:53 |
|
Jeg har en JSP-side (a.jsp) fra hvilken der sendes videre til side
b.jsp. Dette sker vha. response.sendRedirect("b.jsp"). Hvordan sikrer
jeg, at jeg altid får en opdateret version af b.jsp? b.jsp vil nemlig
ofte allerede være loadet in i browseren. I a.jsp sættes der nogle
session-variabler, der også har betydning for b.jsp.
Henry
| |
Carsten (06-08-2001)
| Kommentar Fra : Carsten |
Dato : 06-08-01 10:30 |
|
"Henry Vest" <henry_vest@get2net.dk> wrote in
message news:Xns90F56ECCC56C0henryvestget2netdk@130.225.51.30...
> Jeg har en JSP-side (a.jsp) fra hvilken der sendes videre til side
> b.jsp. Dette sker vha. response.sendRedirect("b.jsp"). Hvordan sikrer
> jeg, at jeg altid får en opdateret version af b.jsp? b.jsp vil nemlig
> ofte allerede være loadet in i browseren. I a.jsp sættes der nogle
> session-variabler, der også har betydning for b.jsp.
> Henry
Kan f.eks. gøres ved:
response.sendRedirect("b.jsp?nocache=" + Math.random());
Det bliver til en forskellig URL (næsten) hver gang, og browseren
kan derfor ikke genkende den som en den har i cache.
Parameteren benyttes ikke i jsp'en, men det har ingen betydning.
Carsten
| |
Henry Vest (06-08-2001)
| Kommentar Fra : Henry Vest |
Dato : 06-08-01 18:53 |
|
Carsten skrev:
> response.sendRedirect("b.jsp?nocache=" + Math.random());
Smart! Og så kan tricket endda også benyttes i PHP og ASP.
Takker for svaret.
Henry
| |
Soren 'Disky' Reinke (07-08-2001)
| Kommentar Fra : Soren 'Disky' Reinke |
Dato : 07-08-01 09:00 |
|
"Carsten" <carjak@wanadoo.dk> skrev i en meddelelse
news:3b6e639e$0$44083$edfadb0f@dspool01.news.tele.dk...
> "Henry Vest" <henry_vest@get2net.dk> wrote in
> message
news:Xns90F56ECCC56C0henryvestget2netdk@130.225.51.30...
> > Jeg har en JSP-side (a.jsp) fra hvilken der sendes videre til
side
> > b.jsp. Dette sker vha. response.sendRedirect("b.jsp").
Hvordan sikrer
> > jeg, at jeg altid får en opdateret version af b.jsp? b.jsp
vil nemlig
> > ofte allerede være loadet in i browseren. I a.jsp sættes der
nogle
> > session-variabler, der også har betydning for b.jsp.
> > Henry
>
> Kan f.eks. gøres ved:
>
> response.sendRedirect("b.jsp?nocache=" + Math.random());
>
> Det bliver til en forskellig URL (næsten) hver gang, og
browseren
> kan derfor ikke genkende den som en den har i cache.
> Parameteren benyttes ikke i jsp'en, men det har ingen
betydning.
eeewww
det var dog en afskyelig måde
Hvad med at fortælle browseren og proxy servere at de ikke må
cache b.jsp.
f.eks. ved at have:
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
if (request.getProtocol().equals("HTTP/1.1"))
response.setHeader("Cache-Control", "no-cache");
}
i din b.jsp side.
Så tvinges browseren til at reloade siden hver gang.
--
With many Thanks
Soren ' Disky ' Reinke ICQ #1413069
http://www.disky-design.dk/fish
Remove IHSYD from email address when replying by email
| |
Henry Vest (08-08-2001)
| Kommentar Fra : Henry Vest |
Dato : 08-08-01 10:54 |
|
"Soren 'Disky' Reinke" skrev:
> response.setDateHeader("Expires", 0);
> response.setHeader("Pragma", "no-cache");
> if (request.getProtocol().equals("HTTP/1.1"))
> response.setHeader("Cache-Control", "no-cache");
> }
Ja, det ser vist lidt pænere ud. Tak for det svar også.
Henry
| |
Troels Arvin (08-08-2001)
| Kommentar Fra : Troels Arvin |
Dato : 08-08-01 11:11 |
|
On Tue, 07 Aug 2001 10:00:16 +0200, "Soren 'Disky' Reinke"
<disky@disky-design.ihsyd.dk> wrote:
> response.setDateHeader("Expires", 0);
> response.setHeader("Pragma","no-cache");
> if (request.getProtocol().equals("HTTP/1.1")) {
> response.setHeader("Cache-Control", "no-cache");
> }
Der er ingen grund til at undersøge HTTP protokolversion inden
Cache-Control headers udsendes.
Det kan ikke skade at udesende en HTTP 1.1 header til en HTTP 1.0
applikation (som blot vil ignorere, hvad den ikke måtte kunne forstå).
Omvendt er der en del HTTP-applikationer, der anmelder sig som HTTP 1.0
compliant fordi de ikke overholder _hele_ HTTP 1.1 - men ofte
implementerer centrale elementer såsom Cache-Control.
Et eksempel er Squid proxy'en: Den forstår alle facetter af Cache-Control
headeren, men anmelder sig med HTTP 1.0, når den foretager requests på
vegne af user agents. Det ville være ærgerligt at afskære sig fra at
kunne benytte den højst nyttige Cache-Control overfor fx. Squid.
(Cache-Control er betydelig mere brugbar end Pragma-headeren.)
--
Greetings from Troels Arvin, Copenhagen, Denmark
| |
Soren 'Disky' Reinke (08-08-2001)
| Kommentar Fra : Soren 'Disky' Reinke |
Dato : 08-08-01 12:11 |
|
"Troels Arvin" <troels@arvin.dk> skrev i en meddelelse
news:9kr38n$qbg$1@sunsite.dk...
> On Tue, 07 Aug 2001 10:00:16 +0200, "Soren 'Disky' Reinke"
> <disky@disky-design.ihsyd.dk> wrote:
>
> > response.setDateHeader("Expires", 0);
> > response.setHeader("Pragma","no-cache");
> > if (request.getProtocol().equals("HTTP/1.1")) {
> > response.setHeader("Cache-Control", "no-cache");
> > }
>
> Der er ingen grund til at undersøge HTTP protokolversion inden
> Cache-Control headers udsendes.
>
Det må du snakke med SUN's forum om, det er der jeg har fundet
denne løsning og den fungerer perfekt :)
--
With many Thanks
Soren ' Disky ' Reinke ICQ #1413069
http://www.disky-design.dk/fish
Remove IHSYD from email address when replying by email
| |
Martin Mouritzen (08-08-2001)
| Kommentar Fra : Martin Mouritzen |
Dato : 08-08-01 12:38 |
|
On Wed, 8 Aug 2001 13:10:57 +0200, "Soren 'Disky' Reinke"
<disky@disky-design.ihsyd.dk> wrote:
>"Troels Arvin" <troels@arvin.dk> skrev
>> Der er ingen grund til at undersøge HTTP protokolversion inden
>> Cache-Control headers udsendes.
>Det må du snakke med SUN's forum om, det er der jeg har fundet
>denne løsning og den fungerer perfekt :)
Mm. bare ikke for folk bag Squid proxy :)
Jeg tror, at det han mente var, at det ikke kan skade at sende den, de
klienter der ikke forstår den, vil alligevel ignorere den, og nogle
klienter som identificerer sig som HTTP 1.0, vil godt kunne forstå
den.
Derfor er det alt ialt en "dum" ting at lade være med at sende den.
| |
Troels Arvin (08-08-2001)
| Kommentar Fra : Troels Arvin |
Dato : 08-08-01 12:52 |
|
On Wed, 08 Aug 2001 13:37:53 +0200, "Martin Mouritzen"
<mm@guidegruppen.dk> wrote:
> Mm. bare ikke for folk bag Squid proxy :)
Squid respekterer nu også Pragma, i hvertfald hvis der ikke også er en
Cache-Control, der overrider.
> Derfor er det alt ialt en "dum" ting at lade være med at sende den.
Præcis. Det er simpelthen spil af tid at tjekke HTTP protokolversion.
- Men for Søren gælder Sun's love altid suverænt
--
Greetings from Troels Arvin, Copenhagen, Denmark
| |
Soren 'Disky' Reinke (08-08-2001)
| Kommentar Fra : Soren 'Disky' Reinke |
Dato : 08-08-01 13:27 |
|
>
> > Mm. bare ikke for folk bag Squid proxy :)
> Squid respekterer nu også Pragma, i hvertfald hvis der ikke
også er en
> Cache-Control, der overrider.
>
> > Derfor er det alt ialt en "dum" ting at lade være med at
sende den.
> Præcis. Det er simpelthen spil af tid at tjekke HTTP
protokolversion.
>
> - Men for Søren gælder Sun's love altid suverænt
Troels, jeg synes du skal tilmelde dig et læse kursus for
begyndere :)
Læs hvad jeg skriver:
>Det må du snakke med SUN's forum om, det er der jeg har fundet
>denne løsning og den fungerer perfekt :)
Hvor står der lige at SUN siger man skal gøre det ?
Jeg har fundet eksemplet på deres forum, og for at du lige er
helt med, er det bare noget de hoster men ikke nødvendigvis
blander sig i folks svar og spørgsmål.
Comprende ?
--
With many Thanks
Soren ' Disky ' Reinke ICQ #1413069
http://www.disky-design.dk/fish
Remove IHSYD from email address when replying by email
| |
Martin Mouritzen (08-08-2001)
| Kommentar Fra : Martin Mouritzen |
Dato : 08-08-01 13:38 |
|
On Wed, 8 Aug 2001 14:26:57 +0200, "Soren 'Disky' Reinke"
<disky@disky-design.ihsyd.dk> wrote:
>Troels, jeg synes du skal tilmelde dig et læse kursus for
>begyndere :)
Så skal du da til en mental undersøgelse?
>Læs hvad jeg skriver:
>>Det må du snakke med SUN's forum om, det er der jeg har fundet
>>denne løsning og den fungerer perfekt :)
tsk tsk. man kan da ikke snakke med et forum.
(ps: der findes også meget bullshit på diverse fora. Man behøver ikke
tage alting for gode varer.)
| |
Soren 'Disky' Reinke (08-08-2001)
| Kommentar Fra : Soren 'Disky' Reinke |
Dato : 08-08-01 13:45 |
|
> (ps: der findes også meget bullshit på diverse fora. Man
behøver ikke
> tage alting for gode varer.)
Nå ja, ligesom newsgroups ikke ??
Det ved jeg udemærket godt, derfor har jeg også testet det, og
det fungere ligesom det skal.
Om en eller anden proxy server ikke kan hitte ud af det, gider
jeg ikke undersøge.
Men hvis du med 100% garanti kan sige det ikke skader at fjerne
det check, er det jo fint. Men ellers beholder jeg det.
--
With many Thanks
Soren ' Disky ' Reinke ICQ #1413069
http://www.disky-design.dk/fish
Remove IHSYD from email address when replying by email
| |
Nezar Nielsen (08-08-2001)
| Kommentar Fra : Nezar Nielsen |
Dato : 08-08-01 16:20 |
|
"Soren 'Disky' Reinke" <disky@disky-design.ihsyd.dk> skrev i en meddelelse
news:ouac7.151$An5.4228779025@news.euroconnect.net...
> Men hvis du med 100% garanti kan sige det ikke skader at fjerne
> det check, er det jo fint. Men ellers beholder jeg det.
Og glæder dig til HTTP/1.2 eller højere, hvis der på et tidspunkt kommer
sådan een, så du skal have fat i det store lugejern :)
--
Mvh. Nezar Nielsen
http://fez.dk/
| |
|
|