如何禁用后退按钮 - 浏览器而不使用javascript我想使用servlet

时间:2015-04-01 10:19:03

标签: java spring

当用户点击浏览器的后退按钮时,我的应用程序(使用JSP / servlet构建)遇到问题。如何对servlet进行编码,以便检测浏览器的后退按钮事件和不执行任何操作。我不允许使用Javascript。

2 个答案:

答案 0 :(得分:1)

  1. Java代码将在服务器端执行。
  2. Javascript在客户端上运行。
  3. 无法在Java中禁用浏览器后退按钮,但是您可以选择在发生此类事件时要执行的操作。您可以选择显示同一页面。

答案 1 :(得分:1)

显然,页面是从浏览器缓存中请求的。您需要禁用相关页面的客户端缓存。您可以通过创建一个Filter来监听您要禁用缓存的页面的url-pattern,例如* .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);