/ 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
session problemer
Fra : stk


Dato : 17-05-02 10:54

Hej.

Hvis jeg i en jsp fil sætter en session.setAttribute("navn", "værdi") kan
jeg efterfølgende læse den med session.getAttribute("navn")

Hvis jeg derimod definerer den i en funktion, jeg kalder ved submit, kan jeg
ikke læse den efter siden er submitted (den kan godt læses i funktionen
inden siden submittes). Den kan også godt læses, hvis den skrives som en
applikations variabel.
Jeg troede en session udløb efter et givent tidsrum eller når browseren blev
lukket?
Hvordan får jeg en sessions variabel til at 'overleve' skift til nye sider?

stefan



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


Dato : 17-05-02 11:26



stk wrote:
> Hej.
>
> Hvis jeg i en jsp fil sætter en session.setAttribute("navn", "værdi") kan
> jeg efterfølgende læse den med session.getAttribute("navn")
>
> Hvis jeg derimod definerer den i en funktion, jeg kalder ved submit,

Det kan jeg ikke helt følge. Hvilken funktion, og hvilken submit er der
tale om. Er vi ovre i JavaScript?

> kan jeg
> ikke læse den efter siden er submitted (den kan godt læses i funktionen
> inden siden submittes). Den kan også godt læses, hvis den skrives som en
> applikations variabel.
> Jeg troede en session udløb efter et givent tidsrum eller når browseren blev
> lukket?

Det er også korrekt.

> Hvordan får jeg en sessions variabel til at 'overleve' skift til nye sider?

Det burde den altid gøre såfremt du bruger cookies og din browser
behandler dem korrekt, eller bruger URL rewriting.

-dennis


stk (17-05-2002)
Kommentar
Fra : stk


Dato : 17-05-02 11:40

> Det kan jeg ikke helt følge. Hvilken funktion, og hvilken submit er der
> tale om. Er vi ovre i JavaScript?
Nej da, 'alm' java i jsp:

....
<body><form>
<script>function cmdOK(){session.setAttribute("navn", "værdi");}</script>
<%= session.getAttribute("navn") %>
<input type=submit onclick=cmdOK()>
</form></body>

> Det burde den altid gøre såfremt du bruger cookies og din browser
> behandler dem korrekt, eller bruger URL rewriting.
Min browser accepterer cookies, hvis det er det du mener. Jeg bruger dem
ikke direkte.

stefan



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


Dato : 17-05-02 11:54

stk wrote:
>>Det kan jeg ikke helt følge. Hvilken funktion, og hvilken submit er der
>>tale om. Er vi ovre i JavaScript?
>
> Nej da, 'alm' java i jsp:
>
> ...
> <body><form>
> <script>function cmdOK(){session.setAttribute("navn", "værdi");}</script>
> <%= session.getAttribute("navn") %>
> <input type=submit onclick=cmdOK()>
> </form></body>

Du blander Java (scriptlets i JSP) og Javascript. Du kan ikke kalde
session.setAttribute() fra et <script> tag. I så fald skal du gøre det
med <% og %> - men bemærk at det vil blive gjort når JavaScripten bliver
sendt til browseren. Altså vil det altid blive gjort, og ikke kun når du
kalder cmdOK() JavaSscript funktionen.

>>Det burde den altid gøre såfremt du bruger cookies og din browser
>>behandler dem korrekt, eller bruger URL rewriting.
>
> Min browser accepterer cookies, hvis det er det du mener. Jeg bruger dem
> ikke direkte.

Der bruges en cookie der hedder JSESSIONID til at holde styr på hvilken
session på serveren netop din browser er en del af.


-dennis


stk (17-05-2002)
Kommentar
Fra : stk


Dato : 17-05-02 12:21

> Du blander Java (scriptlets i JSP) og Javascript. Du kan ikke kalde
> session.setAttribute() fra et <script> tag. I så fald skal du gøre det
> med <% og %>
Det gør jeg også, jeg glemte dem bare i mit indlæg.

> - men bemærk at det vil blive gjort når JavaScripten bliver
> sendt til browseren. Altså vil det altid blive gjort, og ikke kun når du
> kalder cmdOK() JavaSscript funktionen.
Hmm... Jeg må have kludret i det, for nu virker det som du siger.
Er der en måde at lade et script sætte en sessions variabel?

> Der bruges en cookie der hedder JSESSIONID til at holde styr på hvilken
> session på serveren netop din browser er en del af.
Så blev jeg det klogere

stefan



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


Dato : 17-05-02 12:26

Nej. Sessionen er på server siden, og scriptet bliver kørt på klient-siden.

Her kommer så HTTPs 'statelessness' ind i billedet: Alt man skal bruge
igen skal gemmes på serveren (i hukommelse, i database eller lign, og
det kræve et request for hver gang.

-dennis


stk wrote:
>>Du blander Java (scriptlets i JSP) og Javascript. Du kan ikke kalde
>>session.setAttribute() fra et <script> tag. I så fald skal du gøre det
>>med <% og %>
>
> Det gør jeg også, jeg glemte dem bare i mit indlæg.
>
>
>>- men bemærk at det vil blive gjort når JavaScripten bliver
>>sendt til browseren. Altså vil det altid blive gjort, og ikke kun når du
>> kalder cmdOK() JavaSscript funktionen.
>
> Hmm... Jeg må have kludret i det, for nu virker det som du siger.
> Er der en måde at lade et script sætte en sessions variabel?
>
>
>>Der bruges en cookie der hedder JSESSIONID til at holde styr på hvilken
>>session på serveren netop din browser er en del af.
>
> Så blev jeg det klogere
>
> stefan
>
>


stk (17-05-2002)
Kommentar
Fra : stk


Dato : 17-05-02 12:32

> Nej. Sessionen er på server siden, og scriptet bliver kørt på
klient-siden.
>
> Her kommer så HTTPs 'statelessness' ind i billedet: Alt man skal bruge
> igen skal gemmes på serveren (i hukommelse, i database eller lign, og
> det kræve et request for hver gang.
Ok, tak skal du have.
Go weekend

stefan



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste