01: /*
02: * All content copyright (c) 2003-2007 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tctest.webapp.servlets;
05:
06: import java.io.IOException;
07: import java.io.PrintWriter;
08:
09: import javax.servlet.http.HttpServlet;
10: import javax.servlet.http.HttpServletRequest;
11: import javax.servlet.http.HttpServletResponse;
12: import javax.servlet.http.HttpSession;
13:
14: public final class RequestCountingServlet extends HttpServlet {
15:
16: public void doGet(HttpServletRequest request,
17: HttpServletResponse response) throws IOException {
18: HttpSession session = request.getSession(true);
19: response.setContentType("text/html");
20: PrintWriter out = response.getWriter();
21:
22: Integer count = (Integer) session.getAttribute("count");
23: if (count == null) {
24: count = new Integer(0);
25: }
26:
27: if (request.getParameter("read") != null) {
28: if (session.isNew()) {
29: out.println("session is new"); // this is an error condition (client will fail trying to parse this as int)
30: } else {
31: out.println(count.intValue());
32: }
33: } else {
34: int newValue = count.intValue() + 1;
35: session.setAttribute("count", new Integer(newValue));
36: out.println(newValue);
37: }
38: }
39: }
|