12

我正在使用spring MVC框架开发 Web 应用程序,我想限制用户在使用我的 Web 应用程序时使用浏览器后退按钮进行遍历。我怎么能在springs 中这样做?是否有任何内置功能spring

4

2 回答 2

14

在您的应用程序中使用以下过滤器类,不要忘记在 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 {

    }

}

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

于 2013-03-28T15:15:30.113 回答
-1

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

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

并将其添加到body标签:

body onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload=""
于 2019-11-18T21:17:14.367 回答