import java.io.*;
import javax.servlet.*;
import javax.servlet.http/.*;

public class AccessCountServlet extends HttpServlet {

private static final File COUNT_FILE_NAME =

       new File("/usr/local/jwsdp/webapps/accesscount/WEB-INF/classes",
       "accesscount.txt");

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

        String action = request.getParameter("action");
        int accessCount = -1;

        if (action != null && (action.equals("getNewCount")
            || action.equals("getCount")))
        {
            FileReader fr = new FileReader(COUNT_FILE_NAME);
            BufferedReader br = new BufferedReader(fr);
            String accessCountString = null;

            synchronized(this)
            {
                if ((accessCountString = br.readLine()) != null)
                {
                    accessCount = Integer.parseInt(accessCountString);
                }
                br.close();

                if (action.equals("getNewCount"))
                {
                    accessCount++;
                    FileWriter fw = new FileWriter(COUNT_FILE_NAME);
                    PrintWriter pw = new PrintWriter(fw);
                    pw.println(accessCount);
                    pw.close();
                }
            }

            response.setContentType("text/plain");
            PrintWriter out = response.getWriter();
            out.println(accessCount);
        }

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);
}
}