View Javadoc

1   package com.atlassian.gzipfilter.test.web;
2   
3   import javax.servlet.ServletException;
4   import javax.servlet.http.HttpServlet;
5   import javax.servlet.http.HttpServletRequest;
6   import javax.servlet.http.HttpServletResponse;
7   import java.io.IOException;
8   import java.io.PrintWriter;
9   
10  /**
11   * writes output, pauses, then writes more output
12   * the caller should be able to detect the pause
13   */
14  public class FlushingServlet extends HttpServlet {
15  
16      @Override
17      protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
18          long delay = 10000;
19          if (req.getParameter("delay") != null) {
20              delay = Long.parseLong(req.getParameter("delay"));
21          }
22          resp.setContentType("text/html;charset=UTF-8");
23          PrintWriter out = resp.getWriter();
24          out.print("first");
25          out.flush();
26          sleep(delay);
27          out.print("second");
28          out.flush();
29          sleep(delay);
30          out.print("last");
31      }
32  
33      private static void sleep(long delay) {
34          try {
35              Thread.sleep(delay);
36          } catch (InterruptedException e) {
37              throw new RuntimeException(e);
38          }
39      }
40  }