Spring mvc 使用spring`Web应用程序中的“浏览器后退”按钮防止用户返回`

Spring mvc 使用spring`Web应用程序中的“浏览器后退”按钮防止用户返回`,spring-mvc,browser,back-button,Spring Mvc,Browser,Back Button,我正在使用springmvcframework开发web应用程序,我想限制用户在使用web应用程序时使用浏览器的back按钮返回。如何在springs中执行此操作?spring中是否有任何内置功能?在应用程序中使用以下筛选器类,不要忘记在web.xml中注册此筛选器类 import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; i

我正在使用
springmvc
framework开发web应用程序,我想限制用户在使用web应用程序时使用浏览器的back按钮返回。如何在
spring
s中执行此操作?
spring
中是否有任何内置功能?

在应用程序中使用以下筛选器类,不要忘记在web.xml中注册此筛选器类

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;

public class NoBrowserCacheFilter implements Filter{

    @Override
    public void destroy() {

    }

    @Override
    public void doFilter(ServletRequest req, ServletResponse res,
            FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response=(HttpServletResponse)res;
        response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
        response.setHeader("Pragma", "no-cache");
        response.setDateHeader("Expires", -1);
        chain.doFilter(req, res);
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {

    }

}

就这样,它解决了您的问题。

您可以使用这个简单的代码,它将是一个假背。 它将重新加载当前页面,并打算禁用浏览器上的“后退”按钮。 这将在您想要阻止的预期jsp中进行

<script type="text/javascript">
    window.history.forward();
    function noBack() {
        window.history.forward();
    }
</script>

我实现了这一点,但当您单击“上一步”按钮时,表单仍然不会过期。还有一个本地缓存。我还没有找到一个解决方案,一旦提交表单就会过期,因此即使单击“上一步”,表单也应该是空的,而不是以任何方式缓存。有什么解决办法吗?这将避免重大的重复(甚至更多)提交。这似乎不起作用
body onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload=""