java - 使用servlet在浏览器中禁用返回功能

标签 java servlets tomcat6

<分区>

我制作了一个带有登录页面的简单网站,一切正常,除了当用户在浏览器中单击“返回”按钮时,注销后会显示上一页。

我试过跟踪 session ,但没有成功,有什么建议吗? ps:我更喜欢在服务器端编程实现这一点。

谢谢

这是我的重定向 url 过滤器,如果有的话,这可能是问题所在

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) 
                    throws IOException, ServletException 
{
    HttpServletRequest request = (HttpServletRequest) req;
    HttpServletResponse response = (HttpServletResponse) res;

    HttpSession session= request.getSession(false);

   if(request.getRequestURI().compareToIgnoreCase("/login.jsp")!=0&&
           request.getRequestURI().compareToIgnoreCase("/")!=0)
   {
            if (session!=null &&!session.isNew()) 
            {
                    chain.doFilter(req, res);
            }
            else 
            {
                response.sendRedirect(request.getContextPath()+"/login.jsp"); 
               }
  }
   else
   {
       chain.doFilter(req, res);

   }
}

最佳答案

我能想到的 2 个快速方法:

  1. 调用以下 javascript 代码:

    window.history.back(0) = window.location

  2. 将您的 body 标签更改为:

    < body onunload="javascript:history.go(1)">

关于java - 使用servlet在浏览器中禁用返回功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9246722/

相关文章:

java - 无法加载资源工厂类 java.lang.ClassNotFoundException : com. jolbox.bonecp.BoneCPDataSource

tomcat - 使用来自 Docker 的 tomcat 图像时具有自定义 catalina.sh

java - 如何在 HTML 中创建\n新行

Java 和 Tomcat org.json java.lang.ClassNotFoundException

java - 如何获取 Json 对象并将其存储在 Hashmap 中

java - 使用 Tomcat 服务器从 Servlet 启动 Selenium Web 驱动程序时出错

java - 实例化 servlet 类时出错 [org.ran.FristServlet]

eclipse - 如何在 Maven 2 中指定 "Tomcat 6 Server Runtime"库?

java - 从单独的 Java 主类打印 ArrayList

java - 如何查找路径是否已用作符号链接(symbolic link)的源