[ BILjana Cepic @ 03.03.2009. 11:36 ] @
| Pozdrav!
Imam jednu dilemu. Ako sa
HttpSessio session = request.getSession();
Object object = new Object();
sessio.setAttribute("mojeime", object);
dodam atribut u session u jednom servletu koji sluzi kao greeting servlet
a u drugom koji sluzi kao response
moram li ponovo formirati session objekat ili je dovoljno :
request.removeAttribute("mojeime");
da bi uklinila taj atribut
i kakva je razlika izmedju :
session.removeAttribute("mojeime");
i
request.removeAttribute("mojeime");
Pozdrav,
Biljana
|
[ nemnesic @ 03.03.2009. 13:26 ] @
dobro jutro!
request.removeAttribute(S) - nema veze sa sessions.
http://www.roseindia.net/jsp/RemoveAttributeMethod.shtml
koristi session.removeAttribute(S) ako moras
http://www.exforsys.com/tutori...sp-session-object-methods.html
odo ja na kafu ;)
[ BILjana Cepic @ 03.03.2009. 13:42 ] @
Znaci da bi uklonila objekat u nekoj sesion koji sam dodala u predhodnom servletu, moram posto se ne vidi u drugom servletu da ponovo izvrsim
HttpSession session = request. getSession();
pitanje je da li je to isti session ako ga ponovo formiram kao onaj u koji sam dodala atribut u prethodnom servletu.
Ako pozivaju iste funkcije u listeneru koji su vezani za removeAttribute akciju u session, a oni za HttpSessinAttributeEvant, kako nisu isti
request.removeAttribute();
I session.removeAttribute();
radila sam program i aktiviralo je te listenere i u njim afunkcije koje su se desavale kad se desi taj Evant.
[ gajo2 @ 03.03.2009. 14:22 ] @
Web aplikacije imaju vise slojeva, sad ne mogu da se setim svih ali uglavnom izgleda ovako:
application layer
session layer
request layer
page layer
Ako definises neki atribut u application sloju, onda ce taj atribut da postoji tamo sve dok se ne prekine aplikacija (redeployujes, iskljucis web container...). Ako definises neki atribut u session sloju, onda taj atribut postoji sve dok postoji i sesija. Atribut u request sloju postoji sve dok traje jedan request. Npr. korisnik ide na servlet HelloWorld, tamo namestis neki atribut u request layeru, pa posle prosledis kontrolu nekom drugom servletu, pa taj prosledi kontrolu nekoj JSP stranici, i za sve to vreme, svi ti servleti i JSP stranice ce imati pristup toj promenljivi. Ali kada se jednom zaustavi request, vrednost ce se obrisati. Page layer koristis u JSP stranici i vrednost ce postojati samo unutar te stranice.
[ franticnick @ 04.03.2009. 21:08 ] @
Citat:
BILjana Cepic:
HttpSession session = request. getSession();
pitanje je da li je to isti session ako ga ponovo formiram kao onaj u koji sam dodala atribut u prethodnom servletu.
Ako su u browser-u iskljuceni cookies onda request.getSession() uvek kreira novi session objekat (sem ako ne radis URL rewriting).
Ako hoces da proveris da li sessija vec postoji, mozes to uraditi ovako:
Code:
HttpSession session = request.getSession(false);
if(session == null) {
// sesija ne postoji
} else {
// sessija postoji, atributi koje si dodala u prethodnim serletima su tu
}
[ BILjana Cepic @ 12.03.2009. 21:24 ] @
Pozdarav!
Moje
removeAttribute(HttpSessionAttributeEvant) se aktivirao sa
request.getSession().invalidate();
znaci to je taj session u koji sam ja prethodno sa
request.getSession().setAttribute("myname",object);
dodala taj atribut u prvom servletu.
Hvala gajo!!!
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.