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

标签 java jsp redirect back

我有两个 API:

  1. /login(返回登录jsp)
  2. /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/

相关文章:

java - Saxon 9.4 来自 cygwin 的查询

java - 如何从菜单切换到 3D FPS 设置? (libGDX)

javascript - 如何使用 Javascript/AJAX 和 Java Servlet 逐步设置 HTML 表?

java - jsp中如何设置log4J配置文件

ssl - 在 Microsoft IIS 上将 "HTTPS"重定向到 "HTTP"

php - .htaccess 将查询字符串附加到内部重定向

java - 卡力技巧。如何完成完美的洗牌或里弗洗牌

java - Android - 不推荐使用 getRunningservices(ActivityManager)

javascript - 拆分多个 Json Javascript

javascript - 优化重定向代码