Jsp 我正在开发一个简单的登录应用程序,一旦用户登录,当用户按下后退按钮时,不应将用户定向到登录页面

Jsp 我正在开发一个简单的登录应用程序,一旦用户登录,当用户按下后退按钮时,不应将用户定向到登录页面,jsp,session,servlets,filter,Jsp,Session,Servlets,Filter,我正在开发一个简单的登录应用程序,一旦登录,当用户按下浏览器中的后退按钮时,不应将用户定向到登录页面。与主页相同,一旦用户注销,当用户按下浏览器中的“后退”按钮时,不应将用户定向到主页。但不是通过禁用缓存。我想知道其他的方法。使用jsp和servlet。感谢您抽出时间阅读此内容。您应该使用会话。会话允许您的用户登录,直到他们按下您在网页中设计的注销按钮。用户注销后,您可以手动将javascript中的服务器引用设置为登录页面。这将覆盖浏览器历史记录 如果您已经在应用程序中使用了过滤器,则在过滤

我正在开发一个简单的登录应用程序,一旦登录,当用户按下浏览器中的后退按钮时,不应将用户定向到登录页面。与主页相同,一旦用户注销,当用户按下浏览器中的“后退”按钮时,不应将用户定向到主页。但不是通过禁用缓存。我想知道其他的方法。使用jsp和servlet。感谢您抽出时间阅读此内容。

您应该使用会话。会话允许您的用户登录,直到他们按下您在网页中设计的注销按钮。

用户注销后,您可以手动将javascript中的服务器引用设置为登录页面。这将覆盖浏览器历史记录


如果您已经在应用程序中使用了过滤器,则在过滤器中,在标题中设置无缓存:

@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain){
    HttpServletResponse response = (HttpServletResponse) res;         
    response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
    response.setHeader("Pragma", "no-cache");
    response.setDateHeader("Expires", 0);
    chain.doFilter(req, res);
}

您正在使用会话吗?如果不是,那么你应该这样做,如果是,那么执行以下操作

1) 超越onResume方法超出onCreate方法的范围。
2) 然后在恢复时检查登录
3) 如果登录返回false,则不执行任何操作
4) 如果login为true,只需执行
this.finish()

这会把你带回到你原来的活动中


无论用户进入登录屏幕多少次,他都会返回,除非他注销。

您是否仔细阅读了问题,他正在询问有关“返回”按钮的问题。是的!!这就是我在asp.net中遇到的问题。在asp中,这个问题是通过使用session变量来解决的,它的工作原理与Karthik提到的完全一样。您能更详细地告诉我您想要什么吗?@Miya G:下面是场景。应用程序有两个页面1.login.jsp 2.homepage.jsp。在使用会话对象的登录页面中,我检查其“loggedin”属性是否为null,如果为null,则呈现登录的html表单。否则,如果设置为“是”。用户被重定向到主页。但当我按下后退按钮时。我得到的登录页面不应该出现在登录应用程序中。我通过将响应头设置为不存储缓存来清除该问题。因此,我们强制浏览器调用服务器。但这不是一个可扩展的解决方案,因为每次调用服务器时。