I have been trying to kill a session, but it remains alive, a true Rasputin.
The code is below. The output
Killing session with ID: 944330779233294525
Dead session id: 944330779233294525
shows that the session has not died.
Can anyone help?
Thanks.
public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
HttpSession session = req.getSession(true);
String lgn = (String) session.getValue("username");
String pwd = (String) session.getValue("password");
ServletOutputStream out = res.getOutputStream();
res.setContentType("text/html");
String name = req.getRemoteUser();
out.println("<HEAD><TITLE> KillSessionsServlet Output
</TITLE></HEAD><BODY>");
out.println("<h1> KillSessionsServlet Output </h1>");
out.println("<p>Server user name: " + (name == null ? "Unknown" : name)
+ "</p>");
out.println("<p>User name: " + lgn + "</p>");
out.println("<p>Password: " + pwd + "</p>");
Integer ival = (Integer) session.getValue("sessiontest.counter");
if (ival==null) ival = new Integer(1);
else ival = new Integer(ival.intValue() + 1);
session.putValue("sessiontest.counter", ival);
out.println("You have hit this page <b>" + ival + "</b> times.<p>");
out.println("Click <a href=" + res.encodeUrl("/servlet/SessionServlet")
+ ">here</a>");
out.println(" to ensure that session tracking is working even if cookies
aren't supported.<br>");
out.println(" Note that by default URL rewriting is not enabled due to
its expensive");
out.println(" overhead.");
out.println("<p>");
out.println("<h3>Request and Session Data:</h3>");
out.println("Session ID in Request: " + req.getRequestedSessionId());
out.println("<br>Session ID in Request from Cookie: " +
req.isRequestedSessionIdFromCookie());
out.println("<br>Session ID in Request from URL: " +
req.isRequestedSessionIdFromUrl());
out.println("<br>Valid Session ID: " + req.isRequestedSessionIdValid());
out.println("<h3>Session Data:</h3>");
out.println("New Session: " + session.isNew());
out.println("<br>Session ID: " + session.getId());
long crTime = session.getCreationTime();
Date crDate = new Date(crTime);
out.println("<br>Creation Time: " + crTime + " (" + crDate + ")" );
long laTime = session.getLastAccessedTime();
Date laDate = new Date(laTime);
out.println("<br>Last Accessed Time: " + laTime + " (" + laDate + ")" );
out.println("<h3>Session Context Data:</h3>");
HttpSessionContext context = session.getSessionContext();
for (Enumeration e = context.getIds(); e.hasMoreElements() ;) {
String dyingSessionID = (String) e.nextElement();
out.println("Killing session with ID: " + dyingSessionID + "<br>");
HttpSession dyingSession = context.getSession(dyingSessionID);
try {
dyingSession.invalidate();
} catch(IllegalStateException exc) {
out.println("Could not kill<br>");}
try {
out.println("Dead session id: " + dyingSession.getId()); }
catch(IllegalStateException exc) {
out.println("Session is dead<br>"); }
}
out.println("</BODY>");
out.close();
}
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html