当用户单击浏览器的后退按钮时,我的应用程序(使用JSP / servlet构建)遇到了问题。如何编码servlet,使其能够检测到浏览器的后退按钮事件并且不执行任何操作。不允许使用Javascript 。

最佳答案

显然,页面是从浏览器缓存中请求的。您需要禁用相关页面的客户端缓存。为此,您可以创建一个过滤器,该过滤器侦听您要为其禁用缓存的页面的url模式,例如* .jsp。在doFilter()方法中执行以下操作:

HttpServletResponse httpres = (HttpServletResponse) response;
httpres.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
httpres.setHeader("Pragma", "no-cache"); // HTTP 1.0.
httpres.setDateHeader("Expires", 0); // Proxies.
chain.doFilter(request, response);

10-08 01:11