Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1.  
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.BufferedWriter;
  5. import java.io.File;
  6. import java.io.FileNotFoundException;
  7. import java.io.FileReader;
  8. import java.io.FileWriter;
  9. import java.io.IOException;
  10. import java.io.PrintWriter;
  11. import java.nio.file.FileSystemNotFoundException;
  12.  
  13. import javax.servlet.ServletConfig;
  14. import javax.servlet.ServletException;
  15. import javax.servlet.annotation.WebServlet;
  16. import javax.servlet.http.HttpServlet;
  17. import javax.servlet.http.HttpServletRequest;
  18. import javax.servlet.http.HttpServletResponse;
  19.  
  20.  
  21. /*
  22. * Detta program är en räknare som visar hur många som besökt en sida.
  23. * Värdet lagras i en fil på serversidan.
  24. *
  25.  
  26. */
  27. /**
  28. * Servlet implementation class HitCounter
  29. */
  30. @WebServlet("/HitCounter")
  31. public class HitCounter extends HttpServlet {
  32. private static final long serialVersionUID = 1L;
  33. private int count;
  34. private String fileName = "number_of_hits.txt";
  35. private File file;
  36. private String initial;
  37.  
  38.  
  39. public HitCounter() {
  40. super(); // TODO Auto-generated constructor stub }
  41. }
  42.  
  43. /**
  44. * @see HttpServlet#HttpServlet()
  45. */
  46. /*Denna metod hämtar värdet från filen */
  47. public void init() throws ServletException {
  48. file = new File(getServletContext().getRealPath("/") + fileName);
  49. FileReader fileReader = null;
  50. BufferedReader bufferedReader = null;
  51.  
  52. try {
  53. fileReader = new FileReader(file.getAbsolutePath());
  54. bufferedReader = new BufferedReader(fileReader);
  55. initial = bufferedReader.readLine();
  56. count = Integer.parseInt(initial);
  57. return;
  58. } catch (FileNotFoundException fnfe) {
  59. System.err.println("Problem med att hitta filen");
  60. } catch (IOException ioe) {
  61. System.err.println("Problem med att läsa filen");
  62. } catch (NumberFormatException nfe) {
  63. System.err.println("Problem med värdet");
  64. } finally {
  65. try {
  66. if (bufferedReader != null) {
  67. bufferedReader.close();
  68. }
  69. } catch (IOException ioe) {
  70. System.out.println("hej");
  71. }
  72. }
  73.  
  74. String initial = getInitParameter("initial");
  75. try {
  76. count = Integer.parseInt(initial);
  77. return;
  78. } catch (NumberFormatException nfe) {
  79. count = 0;
  80. }
  81.  
  82. }
  83.  
  84.  
  85. /**
  86. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
  87. * response)
  88. */
  89.  
  90. /*Metoden skriver ut siffran som finns lagrad i filen*/
  91. protected void doGet(HttpServletRequest request,
  92. HttpServletResponse response) throws ServletException, IOException {
  93. response.setContentType("text/plain");
  94. PrintWriter out = response.getWriter();
  95.  
  96. synchronized (this) {
  97. count++;
  98. out.println("Since loading, this servlet has been accessed "
  99. + count + " times.");
  100. }
  101. }
  102.  
  103. public void destroy() {
  104. super.destroy();
  105. saveState();
  106. }
  107.  
  108. /*Detta sparar värdet på antalet träffar i filen */
  109. public void saveState() {
  110. FileWriter fileWriter = null;
  111. PrintWriter printWriter = null;
  112. synchronized (this) {
  113. try {
  114. fileWriter = new FileWriter(file);
  115. printWriter = new PrintWriter(fileWriter);
  116. printWriter.println(count);
  117. return;
  118. } catch (IOException ioe) {
  119. System.out.println("hej");
  120. }
  121.  
  122. finally {
  123. if (printWriter != null) {
  124. printWriter.flush();
  125. printWriter.close();
  126. }
  127. }
  128. }
  129.  
  130. }
  131.  
  132.  
  133.  
  134. /**
  135. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
  136. * response)
  137. */
  138. protected void doPost(HttpServletRequest request,
  139. HttpServletResponse response) throws ServletException, IOException {
  140. // TODO Auto-generated method stub
  141. }
  142.  
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement