public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
Page page= new Page();
HttpSession session = request.getSession(getURI(request).indexOf("new")>0);
page.title("Session Dump Servlet: ");
TableForm tf = new TableForm(response.encodeURL(getURI(request)));
tf.method("POST");
if (session==null)
{
page.add("<H1>No Session</H1>");
tf.addButton("Action","New Session");
}
else
{
try
{
tf.addText("ID",session.getId());
tf.addText("State",session.isNew()?"NEW":"Valid");
tf.addText("Creation",
new Date(session.getCreationTime()).toString());
tf.addText("Last Access",
new Date(session.getLastAccessedTime()).toString());
tf.addText("Max Inactive",
""+session.getMaxInactiveInterval());
tf.addText("Context",""+session.getServletContext());
Enumeration keys=session.getAttributeNames();
while(keys.hasMoreElements())
{
String name=(String)keys.nextElement();
String value=session.getAttribute(name).toString();
tf.addText(name,value);
}
tf.addTextField("Name","Property Name",20,"name");
tf.addTextField("Value","Property Value",20,"value");
tf.addTextField("MaxAge","MaxAge(s)",5,"");
tf.addButtonArea();
tf.addButton("Action","Set");
tf.addButton("Action","Remove");
tf.addButton("Action","Invalidate");
page.add(tf);
tf=null;
if (request.isRequestedSessionIdFromCookie())
page.add("<P>Turn off cookies in your browser to try url encoding<BR>");
if (request.isRequestedSessionIdFromURL())
page.add("<P>Turn on cookies in your browser to try cookie encoding<BR>");
}
catch (IllegalStateException e)
{
log.debug(LogSupport.EXCEPTION,e);
page.add("<H1>INVALID Session</H1>");
tf=new TableForm(getURI(request));
tf.addButton("Action","New Session");
}
}
if (tf!=null)
page.add(tf);
Writer writer=response.getWriter();
page.write(writer);
writer.flush();
}