[ 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!!!