|
| Småkager? Fra : stk |
Dato : 15-05-02 14:46 |
|
Jeg roder lidt med servlets og cookies.
Jeg kan oprette et cookie med
Cookie c = new Cookie("Navn", "Værdi");
res.addCookie(c);
men hvordan læser jeg den igen?
Jeg er godt nok faret vild på sun's hjemmeside, så et par links ville heller
ikke være af vejen.
stefan
| |
The_MaXx (15-05-2002)
| Kommentar Fra : The_MaXx |
Dato : 15-05-02 14:57 |
| | |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 15:06 |
| | |
Johan Holst Nielsen (15-05-2002)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 15-05-02 16:28 |
|
> > Irriterende overskrift.... nu blev jeg lige lækker-sulten.....mmmm
> Cookies!
> Chocolate Chip Cookies... UHMMMMM
>
> > Men det kan være dette besvarer dit spørgsmål:
> >
> http://java.sun.com/products/servlet/2.1/api/javax.servlet.http.Cookie.html
> Næh... getValue havde jeg gættet, men har du set et eksempel?
Du kunne eks. prøve at lave en
Cookie[] kager = request.getCookies();
for(int x = 0; x < kager.length; x++) {
Cookie kage = kager[x];
String name = kage.getName();
String value = kage.getValue();
}
Så har du dem læggende i name og value.... du kunne så også vælge at smide dem
i et array?
Så kan du selv lege videre med den?
mvh
Johan
| |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 16:53 |
|
Jeg ved ikke hvorfor jeg ikke lige gennemskuede det, men mange tak.
stefan
| |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 17:04 |
|
Jeg får en nullPointerException ved for(int....)
Er lenght en gyldig metode på et array?
stefan
| |
Martin Schultz (15-05-2002)
| Kommentar Fra : Martin Schultz |
Dato : 15-05-02 17:16 |
|
"stk" <stk@rus.dk> writes:
> Jeg får en nullPointerException ved for(int....)
> Er lenght en gyldig metode på et array?
Ja men du skal huske at et array starter på 0 og ikke 1.
| |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 17:19 |
|
> Ja men du skal huske at et array starter på 0 og ikke 1.
ja ja
men jeg får jo en exception ved kompilering...
| |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 17:22 |
|
| |
Johan Holst Nielsen (15-05-2002)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 15-05-02 17:23 |
|
> Jeg får en nullPointerException ved for(int....)
> Er lenght en gyldig metode på et array?
Jaah...
Hmmm det virker underligt... jeg prøver lidt mere "avanceret" nu...
VI prøver igen... skriver lige en helt fil nu
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class KageEksempel extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse
response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
//Lad os spise kager
Cookie[] kager = request.getCookies();
for (int x = 0; x < kager.length; x++) {
Cookie kage = kager[x];
String navn = kage.getName();
String indhold = kage.getValue();
out.println("Du har følgende kage til rådighed " + navn + "
med følgende indhold " + indhold);
}
}
}
Kan følgende ikke læse din cookie?
Så tror jeg der er noget galt....
mvh
Johan
| |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 17:32 |
|
> VI prøver igen... skriver lige en helt fil nu
Jeg bukker og takker, men får stadig fejl ved for(int x....
Linen med file://Lad os spise kager skal ikke med, vel?
| |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 17:39 |
|
....ingen kage?
Kan kager være tom?
Jeg laver en med
Cookie c = new Cookie("Kage", "Chokolade");
response.addCookie(c);
| |
Johan Holst Nielsen (15-05-2002)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 15-05-02 17:51 |
|
> Jeg laver en med
> Cookie c = new Cookie("Kage", "Chokolade");
> response.addCookie(c);
Nu ser det ud til at du sidder på en Windows maskine...
Prøv at slette alle cookies... (ligger f.eks. C:\Documents and
Settings\Administrator\Cookies på Win2K)
Kommer cookien så når du sætter den?
Iøvrigt den linie med at spise kager er udkommateret så det burde intet
gøre!
Måden du har sat cookien er helt rigtigt... no problem der... (har du
brugt ovenstående? Altså med faste værdier?)
mvh
Johan
| |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 17:57 |
|
> Kommer cookien så når du sætter den?
Næh... ?! Det forklarer vel en nullpointer?
Jeg synes engang at have kunne slå cookies til og fra, men kan ikke huske
hvorhenne.
Har IE 6.0 og kigger under Security/Local intranet
> Iøvrigt den linie med at spise kager er udkommateret så det burde intet
> gøre!
Først efter file://, men jeg har fjernet den...
> Måden du har sat cookien er helt rigtigt... no problem der... (har du
> brugt ovenstående? Altså med faste værdier?)
Ja.
| |
Johan Holst Nielsen (15-05-2002)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 15-05-02 18:07 |
|
stk wrote:
> > Kommer cookien så når du sætter den?
> Næh... ?! Det forklarer vel en nullpointer?
> Jeg synes engang at have kunne slå cookies til og fra, men kan ikke huske
> hvorhenne.
> Har IE 6.0 og kigger under Security/Local intranet
Den ligger under Privacy.... prøv at sætte den ned på "Accept Alle Cookies"
tror jeg det nederste niveau hedder.
Så se om det virker der...
mvh
Johan
| |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 18:09 |
|
> Så se om det virker der...
Nope. Gik ind på dba.dk og fik en cookie, men servlet kan stadig ikke skrive
eller læse dem.
Kan det være opsætningen af JDK/JSWDK/Tomcat?
| |
Morten (15-05-2002)
| Kommentar Fra : Morten |
Dato : 15-05-02 18:18 |
|
stk wrote:
>>Så se om det virker der...
>
> Nope. Gik ind på dba.dk og fik en cookie, men servlet kan stadig ikke skrive
> eller læse dem.
> Kan det være opsætningen af JDK/JSWDK/Tomcat?
>
>
Din browser sender kun cookies til det site den har modtaget dem fra.
Ellers skulle den jo altid sende alle cookies og det er både dyrt
og meget meget dårlig sikkerhed.
| |
Johan Holst Nielsen (15-05-2002)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 15-05-02 18:24 |
|
> Din browser sender kun cookies til det site den har modtaget dem fra.
> Ellers skulle den jo altid sende alle cookies og det er både dyrt
> og meget meget dårlig sikkerhed.
Tror jeg også han er klar over...
Men problemet var om hans browser VILLE modtage cookies...
Og det kunne han konstatere via dba.dk
mvh
johan
| |
Johan Holst Nielsen (15-05-2002)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 15-05-02 18:23 |
|
> > Så se om det virker der...
> Nope. Gik ind på dba.dk og fik en cookie, men servlet kan stadig ikke skrive
> eller læse dem.
> Kan det være opsætningen af JDK/JSWDK/Tomcat?
Har du også denne linie? Således din response virker ordentligt?
public void doGet(HttpServletRequest request, HttpServletResponse response)
Hmm, må indrømme at jeg aldrig har oplevet det før... :(
mvh
Johan
| |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 18:20 |
|
> public void doGet(HttpServletRequest request, HttpServletResponse
response)
skal der noget 'i den'?
| |
Johan Holst Nielsen (15-05-2002)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 15-05-02 18:26 |
|
> public void doGet(HttpServletRequest request, HttpServletResponse
> response)
> skal der noget 'i den'?
Prøv eventuelt at sende hele filen til mig?
tcr480 (at) ofir.dk
Eller post den her? Hvis den ikke er for lang...
Så kan jeg kigge lidt nærmere på den...
mvh
Johan
| |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 18:25 |
|
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class KageEksempel extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse
response) throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Cookie c = new Cookie("Kage", "Chokolade");
response.addCookie(c);
Cookie[] kager = request.getCookies();
for (int x = 0; x < kager.length; x++) {
Cookie kage = kager[x];
String navn = kage.getName();
String indhold = kage.getValue();
out.println("Du har følgende kage til rådighed " + navn +
"med følgende indhold " + indhold);
}
}
| |
stk (15-05-2002)
| Kommentar Fra : stk |
Dato : 15-05-02 18:21 |
|
| |
Lars Dam (16-05-2002)
| Kommentar Fra : Lars Dam |
Dato : 16-05-02 09:18 |
|
Hej stk
Gider du ikke poste i din oprindelige tråd, eller i det
mindste bruge nogle fornuftige topics? At køre en diskussion via topic
er ikke velset.
vh. ld
---
"Time is the fire in which we burn"
| |
stk (16-05-2002)
| Kommentar Fra : stk |
Dato : 16-05-02 10:00 |
|
Er det ikke nemmere at læse svaret i topic når det er et ja eller nej? Og
tråden er jo den samme...
Personligt kan jeg lide det, og det bruges også i andre grupper.
Stefan
| |
Lars Dam (16-05-2002)
| Kommentar Fra : Lars Dam |
Dato : 16-05-02 16:08 |
|
On Thu, 16 May 2002 11:00:00 +0200, "stk" <stk@rus.dk> wrote:
>Er det ikke nemmere at læse svaret i topic når det er et ja eller nej? Og
>tråden er jo den samme...
Desværre ikke (ihverfald ikke hos mig) - Jeg har indtil videre en
håndfuld tråde omhandleden småsnak, selv om det er det samme emne der
diskuteres - jeg har svært ved at se hvad der står 'ja' etc. til, når
det er et nyt topic.
>Personligt kan jeg lide det, og det bruges også i andre grupper.
Hm. Muligvis - det er første gang jeg støder på den opførsel (og har
brugt usenet i adskillige år).
>Stefan
vh. ld
| |
stk (17-05-2002)
| Kommentar Fra : stk |
Dato : 17-05-02 06:55 |
|
> Desværre ikke (ihverfald ikke hos mig) - Jeg har indtil videre en
> håndfuld tråde omhandleden småsnak, selv om det er det samme emne der
> diskuteres - jeg har svært ved at se hvad der står 'ja' etc. til, når
> det er et nyt topic.
Nej, men du kan jo heller ikke se, hvad jeg har svaret, hvis topic er det
samme, vel?
Hvis der er tale om et nyt topic, starter man (selvfølgelig) en ny tråd.
>
> >Personligt kan jeg lide det, og det bruges også i andre grupper.
>
> Hm. Muligvis - det er første gang jeg støder på den opførsel (og har
> brugt usenet i adskillige år).
Det er nogle grupper på en side om Ringenes Herre. Det er da nemmere at læse
et ja eller nej i topic frem for at skulle åbne beskeden.
Det er bare min ydmyge mening
mvh
Stefan
| |
Lars Dam (17-05-2002)
| Kommentar Fra : Lars Dam |
Dato : 17-05-02 07:21 |
|
On Fri, 17 May 2002 07:55:07 +0200, "stk" <stk@rus.dk> wrote:
>> Desværre ikke (ihverfald ikke hos mig) - Jeg har indtil videre en
>> håndfuld tråde omhandleden småsnak, selv om det er det samme emne der
>> diskuteres - jeg har svært ved at se hvad der står 'ja' etc. til, når
>> det er et nyt topic.
>Nej, men du kan jo heller ikke se, hvad jeg har svaret, hvis topic er det
>samme, vel?
Jo, fordi man quoter jo det som man svarer på (se det fungerer fint
her)
>Hvis der er tale om et nyt topic, starter man (selvfølgelig) en ny tråd.
ja - men prøv at se her hvordan det faktisk ser ud:
http://groups.google.com/groups?hl=en&lr=&group=dk.edb.programmering.java
Der er dit oprindelige emne lige pludseligt splittet op i flere tråde,
hvor nogle f.eks. hedder 'Nope', 'Øh-jo', uden at man har en ide om
hvor de hører henne/hænger sammen.
>> >Personligt kan jeg lide det, og det bruges også i andre grupper.
>> Hm. Muligvis - det er første gang jeg støder på den opførsel (og har
>> brugt usenet i adskillige år).
>Det er nogle grupper på en side om Ringenes Herre. Det er da nemmere at læse
Nu er det en side som du siger - det er sikkert ikke usenet, så det er
et nok anderledes system.
>et ja eller nej i topic frem for at skulle åbne beskeden.
Nej, fordi her på usenet, kan du ikke se hvor 'ja' og 'nej' hører til
- hvis alle gjorde som dig på usenet, vil hver newsgroup pludselig
være overfyldt med tråde der hedder 'ja',' nej' osv. Uden at man ved
hvor de enkelte indlæg originalt hører til.
Desuden downloader folk normalt hele indlægget nå de henter news, og
kan se både listen af indlæg/tråde og indholdet af det markerede
indlæg på samme tid.
>Det er bare min ydmyge mening
Det er i orden, det har vi alle lov til at have; dette er osse blot
min ydmyge mening. Normalt plejer jeg ikke at fise sådan op af stolen,
men jeg syntes at det var lidt ekstremt at en enkelt tråd blev spredt
over mange forskellige, uden at man kunne se hvordan den hængte
sammen.
En lille bøn, _hvis_ du fortsætter på din måde, gider du så idet
mindste at lave et sigende topic?
Prøv. at blad lidt tilbage her i denne NG, og se hvordan det er
foregået tidligere, så kan du få en fornemmelse af hvordan folk svarer
på indlæg.
>mvh
>Stefan
>
vh. ld
| |
stk (17-05-2002)
| Kommentar Fra : stk |
Dato : 17-05-02 08:08 |
|
> Der er dit oprindelige emne lige pludseligt splittet op i flere tråde,
> hvor nogle f.eks. hedder 'Nope', 'Øh-jo', uden at man har en ide om
> hvor de hører henne/hænger sammen.
Det havde jeg ikke lige tænkt på.
> Nu er det en side som du siger - det er sikkert ikke usenet, så det er
> et nok anderledes system.
Det er det ikke, og det er det.
> >et ja eller nej i topic frem for at skulle åbne beskeden.
> Nej, fordi her på usenet, kan du ikke se hvor 'ja' og 'nej' hører til
> - hvis alle gjorde som dig på usenet, vil hver newsgroup pludselig
> være overfyldt med tråde der hedder 'ja',' nej' osv. Uden at man ved
> hvor de enkelte indlæg originalt hører til.
'ja' og 'nej' hører til den post, der er et svar på?
> En lille bøn, _hvis_ du fortsætter på din måde, gider du så idet
> mindste at lave et sigende topic?
Du mener istedet for at skrive 'Øh - jo' skulle jeg skrive 'Ja, jeg har den
linie' ?
Og uden at være stødt eller syrlig på nogen måde: Jeg lader bare være med at
ændre topic her i gruppen (og andre grupper på usenet).
mvh
Stefan
| |
Lars Dam (17-05-2002)
| Kommentar Fra : Lars Dam |
Dato : 17-05-02 10:39 |
|
On Fri, 17 May 2002 09:07:41 +0200, "stk" <stk@rus.dk> wrote:
>> En lille bøn, _hvis_ du fortsætter på din måde, gider du så idet
>> mindste at lave et sigende topic?
>Du mener istedet for at skrive 'Øh - jo' skulle jeg skrive 'Ja, jeg har den
>linie' ?
Ikke helt - Mere præcist, så man på topic kan se hvad indlægget
handler om. F.eks. 'Her er linien med NPE i cookie eksemplet'. - det
bliver måske lidt langt, men hellere det, end at man har tonsvis af
topics flydende, uden at man kan se hvordan de hænger sammen.
>Og uden at være stødt eller syrlig på nogen måde: Jeg lader bare være med at
>ændre topic her i gruppen (og andre grupper på usenet).
Det vil være rigtig dejligt, tak
>mvh
>Stefan
vh. ld
---
"Time is the fire in which we burn"
| |
Lars Dam (15-05-2002)
| Kommentar Fra : Lars Dam |
Dato : 15-05-02 20:03 |
|
On Wed, 15 May 2002 18:23:24 +0200, Johan Holst Nielsen
<johan@weknowthewayout.com> wrote:
>> Jeg får en nullPointerException ved for(int....)
>> Er lenght en gyldig metode på et array?
> Cookie[] kager = request.getCookies();
if( kager!=null ){ // check if we got a valid value
> for (int x = 0; x < kager.length; x++) {
> Cookie kage = kager[x];
:
:
}else{
// plonk! - no cookies today
}
kr. ld
| |
stk (16-05-2002)
| Kommentar Fra : stk |
Dato : 16-05-02 10:20 |
|
> if( kager!=null ){ // check if we got a valid value
> }else{
> // plonk! - no cookies today
> }
Sjovt nok det, jeg lige prøvede, og det hjalp sgu'.
Men hvorfor forsvinder min cookie når jeg lukker browseren eller åbner en ny
browser og går ind på den samme side?
Cookies er da ikke sessions afhængige eller hvad? Jeg kan heller ikke finde
min cookie på hd; heller ikke hvis jeg ikke lukker browseren.
| |
Dennis Thrysøe (16-05-2002)
| Kommentar Fra : Dennis Thrysøe |
Dato : 16-05-02 11:09 |
|
stk wrote:
>>if( kager!=null ){ // check if we got a valid value
>>}else{
>>// plonk! - no cookies today
>>}
>
> Sjovt nok det, jeg lige prøvede, og det hjalp sgu'.
> Men hvorfor forsvinder min cookie når jeg lukker browseren eller åbner en ny
> browser og går ind på den samme side?
> Cookies er da ikke sessions afhængige eller hvad? Jeg kan heller ikke finde
> min cookie på hd; heller ikke hvis jeg ikke lukker browseren.
Cookies lever som udgangspunkt kun i en browser session. (Det vil sige
fra du starter din browser til du lukker den). Når du starter en ny
process op, så du har to browsere deler disse heller ikke deres cookies.
(F.eks. MSIE: Ctrl+N for et nyt vindue bliver i samme process, så her
har du de samme session cookies med. Eksekver "iexplore" vil derimod
være en ny process med egne cookies).
Hvis du vil have en persistent cookie, kan du sætte varigheden på dit
Cookie objekt.
-dennis
| |
stk (16-05-2002)
| Kommentar Fra : stk |
Dato : 16-05-02 11:47 |
|
> Hvis du vil have en persistent cookie, kan du sætte varigheden på dit
> Cookie objekt.
Ach so...
Så tror jeg den er ved at være der, tak skal i have alle sammen.
mvh
Stefan
| |
Finn Nielsen (15-05-2002)
| Kommentar Fra : Finn Nielsen |
Dato : 15-05-02 19:50 |
|
"stk" <stk@rus.dk> writes:
> import java.io.*;
> import javax.servlet.*;
> import javax.servlet.http.*;
>
> public class KageEksempel extends HttpServlet {
> public void doGet(HttpServletRequest request, HttpServletResponse
> response) throws IOException, ServletException
> {
> response.setContentType("text/html");
> PrintWriter out = response.getWriter();
> Cookie c = new Cookie("Kage", "Chokolade");
> response.addCookie(c);
>
> Cookie[] kager = request.getCookies();
> for (int x = 0; x < kager.length; x++) {
> Cookie kage = kager[x];
> String navn = kage.getName();
> String indhold = kage.getValue();
> out.println("Du har følgende kage til rådighed " + navn +
> "med følgende indhold " + indhold);
> }
> }
Browseren kan ikke sende dig en cookie før den har fået den, så kalder du
servletten flere gange vil den første gang sætte cookien og de
efterfølgende kunne læse den.
Jeg tvivler på at response objektet opdaterer request objektet, det ville
være nødvendig hvis du skulle kunne skrive og læse i samme omgang.
--
Finn Nielsen - http://www.zznyyd.dk/
"Creatures seemed to turn up in the world randomly, and certainly not
according to any pictures in a book." - The science of Discworld
| |
Johan Holst Nielsen (16-05-2002)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 16-05-02 08:43 |
|
> Browseren kan ikke sende dig en cookie før den har fået den, så kalder du
> servletten flere gange vil den første gang sætte cookien og de
> efterfølgende kunne læse den.
>
> Jeg tvivler på at response objektet opdaterer request objektet, det ville
> være nødvendig hvis du skulle kunne skrive og læse i samme omgang.
Ja, kan du have ret i.
Men men men.... han kan jo heller ikke se cookien på hans maskine. Så det er
reelt lige meget om den kan læses, så længe den ikke bliver sat....
mvh
Johan
| |
|
|