// Programm 5-3a: BSP_ROOT/meinewebapp/WEB-INF/classes/basics/ZaehlerServlet.java
package basics;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ZaehlerServlet extends HttpServlet implements Runnable {
  private static Date startzeit;
  static {
    startzeit = new Date();
  }
  private long zähler;
  private int tick;
  private PrintWriter out;

  public void init() {
    String temp = getInitParameter("tick");    // aus web.xml
    tick = (temp == null) ? 1000 : Integer.parseInt(temp);
    new Thread(this).start();
  }
  public void run() {
    while (true) {
      zähler += tick;
      try { Thread.sleep(tick); }
      catch (InterruptedException ex) {}
    }
  }
  public synchronized void doGet(HttpServletRequest rq, HttpServletResponse rs) 
                                           throws ServletException, IOException {
      rs.setContentType("text/html");
      out = rs.getWriter();
      out.print(zähler + " Millisek. seit Instanziierung<BR>");
      out.print("Ladezeitpunkt der Klasse war " + startzeit);
  }
}