Advertisement
reddist

Untitled

Jan 26th, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.49 KB | None | 0 0
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <%! public AtomicInteger counter; // Определяем переменную счётчика %>
  3. <% if (application.getAttribute("jspSessionCounter") == null) {
  4.        application.setAttribute("jspSessionCounter", new AtomicInteger());
  5.    } // Создаём экземпляр счётчика, если в ServletContext'е такой отсутствует
  6.    counter = (AtomicInteger) application.getAttribute("jspSessionCounter"); // Получаем счётчик из ServletContext'а
  7. %>
  8. <html lang="ru">
  9.     <head>
  10.         <meta charset="UTF-8">
  11.         <title>Exam</title>
  12.     </head>
  13.     <body>
  14.         <div>
  15.             <p> Количество запросов к странице за последние 60 секунд:
  16.                 <span style = "color: red; font-size: 1.3em;">
  17.                     <% if (session.isNew()) { %>
  18.                         <%-- Выводим счётчик, перед этим добавляя к нему единицу, потому что сессия новая --%>
  19.                         <%=counter.incrementAndGet()%>
  20.                         <%-- Создаём поток, который через 60 секунд уменьшит счётчик --%>
  21.                         <% new Thread( () -> {Thread.sleep(60000); counter.decrementAndGet();} ).start(); %>
  22.                     <% } else { %>
  23.                         <%-- Просто выводим счётчик, т.к. сессия не новая, т.е. уже посчитана --%>
  24.                         <%=counter.get()%>
  25.                     <% } %>
  26.                 </span>
  27.             </p>
  28.         </div>
  29.     </body>
  30. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement