I have been reading Kathy Sierra Head First JSP/Servlets book and i am very happy to learn it the way the chapters are organized.
Recently i completed Conversational State chapter and tried having my hands on Sessions in Web in which i am stuck at 1 point, i created the following.
1. Login.jsp which would have a username and password. 2. LoginAction.java which would set the request parameter to session attribute and this LoginAction class would forward the request using RequestDispatcher to result.jsp. 3. result.jsp has a Greeting for the user registered saying "Welcome, " and it works like a dream.
Now my problem.
Result.jsp has a link to logout.jsp, Below is the code of result.jsp
and then logout.jsp has the following code :
What i was expecting was it would show "Welcome,Guest" because when i said session.invalidate, it made the session as null and on checker.jsp i am checking for session==null , however it showed Welcome null. I am not sure why session.invalidate() on Logout.jsp did not return null.
Can you all please help me.
Below is checker.jsp for reference.
Yogendra N Joshi. [ December 25, 2008: Message edited by: Yogendra Joshi ]
Meri Zindagi Hain Tab Tak.. Jab Tak Tera Sahara.... Har Taraf Tu Hi Tu Hain SAI Tera Hi Hain Nazara.....
Arie Prastowo
Greenhorn
Joined: Apr 20, 2008
Posts: 22
posted
0
I think that is happen because in JSP, session is never null. It is an implicit object, so I guess HttpServletRequest.getSession() is always called.
Arie Prastowo
SCJP 5.0<br />Use the power of mind
Bauke Scholtz
Ranch Hand
Joined: Oct 08, 2006
Posts: 2458
posted
0
You need HttpSession#isNew() rather than testing it against null.
That said, your logout.jsp is bogus. Check your appserver logs. There is an IllegalStateException in it.