当html页面发布到servlet / jsp或任何其他类型的Web资源时,它包含一些标头.这些标头包含请求的参数.当用户在他的浏览器上点击刷新/ 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?param = xyz123’调用它,然后尝试点击刷新.