import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Counter extends HttpServlet{ File file = null; //Skapar filen count och skriver vŠrdet 0 om den inte redan finns public void init() throws ServletException{ try{ file = new File(getServletContext().getRealPath("count")); if (file.createNewFile()) writeValue(file, 0); }catch (IOException ignore){} } public void destroy(){ super.destroy(); } //Returnerar vŠrdet frŚn filen count int readValue(File file)throws IOException{ BufferedReader infile = new BufferedReader(new FileReader(file)); int tmp = Integer.parseInt(infile.readLine()); infile.close(); return tmp; } //Skriver ett nytt vŠrde till filen count void writeValue(File file, int value)throws IOException{ PrintWriter outfile = new PrintWriter(new FileWriter(file)); outfile.println(value); outfile.close(); } //…kar vŠrdet pŚ filen count och skriver ut det nya vŠrdet i plain text public void doGet(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException { int count = 0; res.setContentType("text/plain"); PrintWriter out = res.getWriter(); synchronized (this){ count = readValue(file); writeValue(file, ++count); } out.println(count); } }