/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
response.sendRedirect("login");
Fra : Sørensen


Dato : 10-05-02 18:46

Hej - jeg er ret ny på servlets, og specielt html (!)

Dette er måske mest html spørgsmål, men anyway.

Fra en af nyhedsgruppens skribenter, som har gjort en god hjemmeside vha.
servlets, har jeg fået noget kode indeholdende:
response.sendRedirect("login.jsp");
meningen er svjv at hvis man på en tilfældig side, via
getValue("logonIsDone"), konstaterer om brugeren ikke er logget på så
dirigeres man over på en logonside side. Dette er jo en teknik som er god at
bruge generelt, altså ikke kun til logon.

Efter nogle få eksperimenter, synes jag det ser ud som response.sendRedirect
er måden, dynamisk, at "kalde" andre servletter. - Er jeg galt afmarcheret
???, er der bedre teknikker.

I bogen "Java servlet Programming" (af Jason Hunter), skrives bl.a. om
"response.sendRedirect(): ".... Consequently, do not write your own response
body when using this method ... "
Hvad menes der mon med det ? - hvad er ´"response body"

på forhånd tak for hjælpen
Sørensen.







 
 
Dennis Thrysøe (13-05-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 13-05-02 08:34

Sørensen wrote:
> Hej - jeg er ret ny på servlets, og specielt html (!)
>
> Dette er måske mest html spørgsmål, men anyway.
>
> Fra en af nyhedsgruppens skribenter, som har gjort en god hjemmeside vha.
> servlets, har jeg fået noget kode indeholdende:
> response.sendRedirect("login.jsp");
> meningen er svjv at hvis man på en tilfældig side, via
> getValue("logonIsDone"), konstaterer om brugeren ikke er logget på så
> dirigeres man over på en logonside side. Dette er jo en teknik som er god at
> bruge generelt, altså ikke kun til logon.
>
> Efter nogle få eksperimenter, synes jag det ser ud som response.sendRedirect
> er måden, dynamisk, at "kalde" andre servletter. - Er jeg galt afmarcheret
> ???, er der bedre teknikker.

Dert er to andre (og bedre) teknikker. Du kan bruge
pageContext.forward(), for at "kalde" en anden servlet / JSP. Hvis den
"kaldte" servlet / JSP kun skal være en del af din side kan du bruge
pageContext.include().

> I bogen "Java servlet Programming" (af Jason Hunter), skrives bl.a. om
> "response.sendRedirect(): ".... Consequently, do not write your own response
> body when using this method ... "
> Hvad menes der mon med det ? - hvad er ´"response body"

Et redirect til klienten er en HTTP header, som skal være noget af det
første der sendes af sted. Hvis du sender noget indhold afsted, er det
for sent at sætte headere.

-dennis


Jonathan Stein (13-05-2002)
Kommentar
Fra : Jonathan Stein


Dato : 13-05-02 23:04

"Sørensen" wrote:

> Dette er måske mest html spørgsmål, men anyway.

Det er måske endnu mere et HTTP-spørgsmål...

> I bogen "Java servlet Programming" (af Jason Hunter), skrives bl.a. om
> "response.sendRedirect(): ".... Consequently, do not write your own response
> body when using this method ... "

sendRedirect sender besked tilbage til klienten om, at denne skal requeste en
ny side. Som andre har skrevet, findes der alternativer, som får serveren til at
eksekvere en ny jsp/servlet uden at gå omkring klienten.

> Hvad menes der mon med det ? - hvad er ´"response body"

"response body" er det HTML-dokument, som normalt følger med svaret til
klienten. Når svaret er "gå til en anden side", er der ingen grund til at sende
en side med, og hvis man omvendt først er begyndt at sende siden, kan man ikke
senere sende en "gå til en anden side" kode.

M.v.h.

Jonathan

--
Nyt alternativ til egen server: JSP Enterprise hotel med adgang til
Enterprise Java Beans, egen Java Virtual Machine og egen IP-adresse
(giver mulighed for eget SSL-certifikat).
http://www.jsp-hotel.dk/



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste