ShowSession.java Servlet that uses session tracking to determine if the client is a repeat visitor. Uses the ServletUtilities class to simplify the DOCTYPE and HEAD output. package cwp; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.net.*; import java.util.*; /** Simple example of session tracking. *
* Taken from Core Web Programming Java 2 Edition * from Prentice Hall and Sun Microsystems Press, * . * May be freely used or adapted. */ public class ShowSession extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(“text/html”); PrintWriter out = response.getWriter(); String title = “Session Tracking Example”; HttpSession session = request.getSession(true); String heading; Integer accessCount = (Integer)session.getAttribute(“accessCount”); if (accessCount == null) { accessCount = new Integer(0); heading = “Welcome, Newcomer”; } else { heading = “Welcome Back”; accessCount = new Integer(accessCount.intValue() + 1); } // Use setAttribute instead of putValue in version 2.2. session.setAttribute(“accessCount”, accessCount); out.println(ServletUtilities.headWithTitle(title) + “\n” + ”
” + heading + “
\n" +
"
Information on Your Session:
\n" +
"\n" +
"\n" +
" \n" +
" \n" +
" \n" +
" \n" +
"
| Info Type | Value\n” + “ |
|---|---|
| ID\n” + “ | ” + session.getId() + “\n” + “ |
| Creation Time\n” + “ | ” + new Date(session.getCreationTime()) + “\n” + “ |
| Time of Last Access\n” + “ | ” + new Date(session.getLastAccessedTime()) + “\n” + “ |
| Number of Previous Accesses\n” + “ | ” + accessCount + “\n” + “ |
\n" +
"");
}
/** Handle GET and POST requests identically. */
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
