package cs320.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns = "/RequestCounter", loadOnStartup = 1) public class RequestCounter extends HttpServlet { private static final long serialVersionUID = 1L; public RequestCounter() { super(); } @Override public void init( ServletConfig config ) throws ServletException { // When you override init(), don't forget to call the super class // init() first. super.init( config ); // Note that Java automatically converts between int and Integer // (i.e. the "Autoboxing and Unboxing" feature since JDK 1.5. int counter = 0; getServletContext().setAttribute( "counter", counter ); } @Override protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { Integer counter = (Integer) getServletContext().getAttribute( "counter" ); ++counter; getServletContext().setAttribute( "counter", counter ); response.setContentType( "text/html" ); PrintWriter out = response.getWriter(); out.println( "Request Counter" ); out.println( "

A request counter has been incremented.

" ); out.println( "" ); } }