我有两个 API:
- /login(返回登录jsp)
- /home(返回主页 jsp)
功能:
最初,我位于登录屏幕上,按下登录按钮后,我会转到主屏幕。
当我在主页屏幕上并使用注销按钮注销时,我会被重定向到登录屏幕。
在/home API 中,条件如下:
if (userLoggedIn()) {
return new ModelAndView("/homePage");
} else {
return new ModelAndView("/loginPage");
}
问题:
当我注销并转到登录页面时,我单击浏览器的后退按钮。 我被重定向到主页。 (不正确)
但是,如果我直接使用 url 打开主页,我会被重定向到登录页面(正确)
我调试了应用程序,发现按后退按钮时,控件甚至不会进入/home API。
如何确保按下后退按钮后,我的屏幕会重定向到登录页面?
最佳答案
找到了解决方案。我的问题就这样解决了。
在 servlet 中,添加以下行以不进行缓存。
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
关于java - 浏览器上的后退按钮不会将控制流发送到 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46908763/