SCM-Daten ergänzt
[percentcodec] / accelerator-examples / servlet / src / main / java / de / juplo / accelerator / examples / FaultyServlet.java
1 package de.juplo.accelerator.examples;
2
3 import java.io.IOException;
4 import javax.servlet.ServletOutputStream;
5 import javax.servlet.http.HttpServlet;
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
10
11 /**
12  *
13  * @author kai
14  */
15 public class FaultyServlet extends HttpServlet {
16   private final static Logger log = LoggerFactory.getLogger(FaultyServlet.class);
17   private final static long lastModified = System.currentTimeMillis();
18
19
20   @Override
21   protected long getLastModified(HttpServletRequest req) {
22     return lastModified;
23   }
24
25   @Override
26   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
27     int n = 0;
28     try {
29       /**
30        * Wenn der Parameter n gesetzt ist, wird ein Antwort-Body erzeugt, der
31        * exakt die Anzahl der geforderten Bytes enthält.
32        */
33       n = Integer.parseInt(request.getParameter("n"));
34     }
35     catch(Exception e) {}
36     log.debug("Error will be risen after {} bytes: {}", n, request.getRequestURI());
37     ServletOutputStream out = response.getOutputStream();
38     for (int i=0; i<n; i++)
39       out.write(i%2 + 48); /** ASCII-Codes für "0" und "1" */
40     log.debug("Failing.... NOW:");
41     throw new RuntimeException("Oh, no!");
42   }
43 }