import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class AutoServlet3 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { //client browser will request the page according to user choice Cookie refresh = null; Cookie viewingTimes = null; for(Cookie c : request.getCookies()) { if (c.getName().equals("refresh")) { refresh = c; } if (c.getName().equals("viewingTimes")) { viewingTimes = c; } } if(refresh == null){ refresh = new Cookie("refresh","5"); response.addCookie(refresh); } if(viewingTimes == null){ viewingTimes = new Cookie("viewingTimes","1"); viewingTimes.setMaxAge(60); response.addCookie(viewingTimes); } String refreshRate = request.getParameter("refreshRate"); if(refreshRate != null){ refresh.setValue(refreshRate); response.addCookie(refresh); } response.addHeader("Refresh", refresh.getValue()); response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); out.println("Client Refresh"); out.println("This page is automatically refreshed every "+refresh.getValue()+" seconds"); out.print("
"); out.print("Choose a different refresh rate :
"); out.print(""); out.print("
"); //More HTML or dynamic content out.println("This page has been refreshed " + viewingTimes.getValue() + " times."); int tmp = new Integer(viewingTimes.getValue()); out.println(""); viewingTimes.setValue(""+(++tmp)); response.addCookie(viewingTimes); } //end doGet @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }