Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <%! public AtomicInteger counter; // Определяем переменную счётчика %>
- <% if (application.getAttribute("jspSessionCounter") == null) {
- application.setAttribute("jspSessionCounter", new AtomicInteger());
- } // Создаём экземпляр счётчика, если в ServletContext'е такой отсутствует
- counter = (AtomicInteger) application.getAttribute("jspSessionCounter"); // Получаем счётчик из ServletContext'а
- %>
- <html lang="ru">
- <head>
- <meta charset="UTF-8">
- <title>Exam</title>
- </head>
- <body>
- <div>
- <p> Количество запросов к странице за последние 60 секунд:
- <span style = "color: red; font-size: 1.3em;">
- <% if (session.isNew()) { %>
- <%-- Выводим счётчик, перед этим добавляя к нему единицу, потому что сессия новая --%>
- <%=counter.incrementAndGet()%>
- <%-- Создаём поток, который через 60 секунд уменьшит счётчик --%>
- <% new Thread( () -> {Thread.sleep(60000); counter.decrementAndGet();} ).start(); %>
- <% } else { %>
- <%-- Просто выводим счётчик, т.к. сессия не новая, т.е. уже посчитана --%>
- <%=counter.get()%>
- <% } %>
- </span>
- </p>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement