浏览器上的后退按钮不会将控制流发送到API

时间:2017-10-24 10:59:20

标签: java jsp redirect back

我有两个API:

  1. / login(返回登录jsp)
  2. / home(返回主页jsp)
  3. 功能

    最初,我在登录界面,按下登录按钮,我进入主屏幕。

    当我在主页屏幕上并使用注销按钮注销时,我被重定向到登录屏幕。

    在/ home API中,以下是条件:

    if (userLoggedIn()) {
      return new ModelAndView("/homePage");
    } else {
      return new ModelAndView("/loginPage");
    }
    

    问题:

    当我退出并移动到登录页面时,我点击浏览器的后退按钮。 我被重定向到主页。 (不正确

    但是,如果我直接使用网址打开主页,我会被重定向到登录页面(正确

    我调试了应用程序,我发现在按下后退按钮时,控件甚至没有进入/ home API。

    如何确保在按下后退按钮时,我的屏幕会重定向到登录页面?

2 个答案:

答案 0 :(得分:1)

找到解决方案。我的问题已经解决了。

在servlet中,添加以下行以便不进行缓存。

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0); 

答案 1 :(得分:0)

将[OutputCache(NoStore = true,Duration = 0,VaryByParam =“None”)]设置为操作。这样,请求也将在后退按钮上进行,您的功能将完成剩余的重定向。