Java 浏览器上的“后退”按钮不会将控制流发送到API
我有两个API: /登录返回登录jsp /主页返回主页jsp 功能: 最初,我在登录屏幕上,按下登录按钮,我进入主屏幕 当我在主页屏幕上并使用“注销”按钮注销时,我会被重定向到“登录”屏幕 在/home API中,以下是条件:Java 浏览器上的“后退”按钮不会将控制流发送到API,java,jsp,redirect,back,Java,Jsp,Redirect,Back,我有两个API: /登录返回登录jsp /主页返回主页jsp 功能: 最初,我在登录屏幕上,按下登录按钮,我进入主屏幕 当我在主页屏幕上并使用“注销”按钮注销时,我会被重定向到“登录”屏幕 在/home API中,以下是条件: if (userLoggedIn()) { return new ModelAndView("/homePage"); } else { return new ModelAndView("/loginPage"); } 问题: 当我注销并转到登录页面时,我单击浏
if (userLoggedIn()) {
return new ModelAndView("/homePage");
} else {
return new ModelAndView("/loginPage");
}
问题:
当我注销并转到登录页面时,我单击浏览器的后退按钮。
我被重定向到主页。不正确
然而,如果我直接使用url打开主页,我会被重定向到正确的登录页面
我调试了应用程序,发现按下后退按钮时,控件甚至没有进入/home API
如何确保按下“后退”按钮时,屏幕重定向到登录页面?将[OutputCacheNoStore=true,Duration=0,VaryByParam=None]设置为操作。这样,请求也将在“后退”按钮上发出,您的功能将执行其余的重定向。找到了解决方案。我的问题已经解决了 在servlet中,为无缓存添加以下行
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);