import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
class SessionInfo {
int pageCount;
long startTime;
}
public class SessionPageCount2 extends HttpServlet {
static final boolean debug = false;
// Store session info (page count) by username in hashtable.
Hashtable sessionTable = new Hashtable ();
public void doGet (HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
// Set the content type of the response etc ..
resp.setContentType ("text/html");
PrintWriter out = resp.getWriter ();
out.println ("
Visit Count");
// During debugging, it helps to print out the parameters in the response.
if (debug) {
printParams (out, req);
}
// Write out the action.
// CHANGE TO YOUR PORT NUMBER:
out.println ("");
out.flush ();
return;
}
}
else {
// Make session.
session = new SessionInfo ();
session.pageCount = 0;
session.startTime = System.currentTimeMillis ();
}
// Active session. Continue ...
// Determine action based on which page fired the request.
if (whichPage.equalsIgnoreCase ("loginpage")) {
handleLoginPage (out, userName);
}
else if (whichPage.equalsIgnoreCase ("menupage")) {
handleMenuPage (out, userName, req);
}
else if (whichPage.equalsIgnoreCase ("featurepage")) {
// Back button on Time or Fortune page
handleLoginPage (out, userName);
}
else {
handleError (out);
}
// Page count.
session.pageCount ++;
// Put updated page count back in table, and write out to page:
sessionTable.put (userName, session);
out.println (" You have made " + session.pageCount + " page requests");
// We don't really need this, but we'll use it for confirmation:
out.println ("");
// Last part.
out.println ("