// =========================================================================== // Copyright (c) 1996 Mort Bay Consulting Pty. Ltd. All rights reserved. // $Id: SessionDump.java,v 1.15.2.7 2003/06/04 04:47:56 starksm Exp $ // --------------------------------------------------------------------------- package org.mortbay.servlet; import java.io.IOException; import java.io.Writer; import java.util.Date; import java.util.Enumeration; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.mortbay.html.Page; import org.mortbay.html.TableForm; import org.mortbay.util.Code; /* ------------------------------------------------------------ */ /** Test Servlet Sessions. * * @version $Revision: 1.15.2.7 $ * @author Greg Wilkins (gregw) */ public class SessionDump extends HttpServlet { int redirectCount=0; /* ------------------------------------------------------------ */ String pageType; /* ------------------------------------------------------------ */ public void init(ServletConfig config) throws ServletException { super.init(config); } /* ------------------------------------------------------------ */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(false); String action = request.getParameter("Action"); String name = request.getParameter("Name"); String value = request.getParameter("Value"); String age = request.getParameter("MaxAge"); String nextUrl = request.getRequestURI()+"?R="+redirectCount++; if (action.equals("New Session")) { session = request.getSession(true); } else if (session!=null) { if (action.equals("Invalidate")) session.invalidate(); else if (action.equals("Set")) { session.setAttribute(name,value); try { int m = Integer.parseInt(age); session.setMaxInactiveInterval(m); } catch(Exception e) { Code.ignore(e); } } else if (action.equals("Remove")) session.removeAttribute(name); } String encodedUrl=response.encodeRedirectURL(nextUrl); response.sendRedirect(encodedUrl); } /* ------------------------------------------------------------ */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); Page page= new Page(); page.title("Session Dump Servlet"); HttpSession session = request.getSession(request.getRequestURI().indexOf("new")>0); TableForm tf = new TableForm(response.encodeURL(request.getRequestURI())); tf.method("POST"); if (session==null) { page.add("
Turn off cookies in your browser to try url encoding
");
if (request.isRequestedSessionIdFromURL())
page.add("
Turn on cookies in your browser to try cookie encoding
");
}
catch (IllegalStateException e)
{
Code.debug(e);
page.add("