/*Kristina Laukkonen. *Uppgift 1.2.1 */ import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class A121 extends HttpServlet { int count = 0; File f = null; private static String htmlTemplate = null; //Försöker ladda init räknare public void init() throws ServletException { FileReader fileReader = null; BufferedReader bufferedReader = null; try { f = new File(getServletContext().getRealPath("Raknare.txt")); fileReader = new FileReader("f"); bufferedReader = new BufferedReader(fileReader); String initial = bufferedReader.readLine(); count = Integer.parseInt(initial); //gör inital till en integer count return; } catch (FileNotFoundException ignored) { } //inget sparat catch (IOException ignored) { } //tar problem under läsning catch (NumberFormatException ignored) { } //tar övriga värden finally { try { if (bufferedReader != null) { bufferedReader.close(); } } catch (IOException ignored) {} } //Tillståndet lyckades inte laddas, kollar efter parameter String initial = getInitParameter("initial"); try { count = Integer.parseInt(initial); return; } catch (NumberFormatException ignored) {} //sätter count till värdet 0 som default count = 0; if (htmlTemplate == null) { htmlTemplate = Mixer.getContent(new File(getServletContext().getRealPath("rakna.html"))); } } //Skriver ut värdet på count i "text/html" med hjälp av en PrintWriter. Count ökas med 1 varje public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); synchronized(this) { count++; if (count % 10 == 0) saveState(); Mixer m = new Mixer(htmlTemplate); m.add("---hits---", ""+ count); res.setContentType("text/html"); PrintWriter pw = res.getWriter(); pw.println(m.getMix()); } } public void destroy() { //rensar upp resurer saveState(); } public void saveState() { //Sparar det värdet i raknare.txt FileWriter fileWriter= null; PrintWriter printWriter= null; try { fileWriter = new FileWriter("Raknare.txt"); printWriter = new PrintWriter(fileWriter); printWriter.println(count); return; } catch (IOException e) { //problem under skrivning } //Stänger PrintWriter finally { if(printWriter != null) { printWriter.close(); } } } }