<% Tracker tr = new Tracker(request, response); String tracker = tr.getTracker(); // in verborgenem Formularfeld String counter = tr.getCounter(); // in Cookie String meldung; //======================================================================= meldung = "Cookie: "+ counter+ " / Formular: "+ tracker+ "
"; if (!counter.equals(tracker) && !"".equals(tracker)) meldung += "Back und Reload dürfen nicht " + "verwendet werden!
"; //======================================================================= tr.modTracker(0); %> <%! class Tracker { private String counter, tracker; private HttpServletResponse rs; public Tracker(HttpServletRequest request, HttpServletResponse response) { rs = response; counter = "0"; Cookie[] cs = request.getCookies(); for (int i = 0; cs !=null && i < cs.length; i++) { if ("tracker".equals(cs[i].getName())) { counter = cs[i].getValue(); break; } } tracker = request.getParameter("tracker"); tracker = tracker == null ? "" : tracker; } String getCounter() { return counter; } String getTracker() { return tracker; } void modTracker(int sekunden) { int t = Integer.parseInt(counter); counter = "" + ++t; tracker = counter; Cookie cookie = new Cookie("tracker", counter); if (sekunden > 1) cookie.setMaxAge(sekunden); rs.addCookie(cookie); } } %> Seitenverfolger, Seite <%= counter %>

Seitenverfolger, Seite <%= counter %>

<%= meldung %>