Когда HTML страница отправляется в сервлет/JSP или любой другой вид веб-ресурса он содержит некоторые заголовки. Среди этих заголовков содержатся параметры запроса. Когда пользователь нажимает refresh/f5 в своем браузере, браузер делает это, чтобы повторно разместить тот же заголовок, что и раньше. Таким образом, эта проблема специфична для браузера.
Теперь вы можете решить это несколькими способами. Одним из способов было бы сохранить текущее значение в переменной сеанса, а затем запрос с параметром запроса будет таким же, как значение атрибута сеанса, а затем вы можете рассматривать его как действие обновления.
Рассмотрим приведенный ниже код для newjsp.jsp:
String param = request.getParameter("param");
if (session.getAttribute("PARAM") == null) {
out.print("This is a NEW request");
session.setAttribute("PARAM", request.getParameter("param"));
} else if (session.getAttribute("PARAM").toString().equalsIgnoreCase(param)) {
out.print("This is a REFRESH");
session.removeAttribute("PARAM");
} else {
out.print("This is a NEW request");
session.setAttribute("PARAM", request.getParameter("param"));
}
Призовите его с помощью 'newjsp.jsp парам = XYZ123?' И попробуйте нажать на обновление.
Вы должны использовать атрибут сеанса для хранения тот факт, что вы уже получили параметр и/или использовать сервлеты. –