java - 通过 Java Servlet 转发到自身的网页在浏览器后退/前进按钮上的行为不正确

标签 java jsp servlets

我尝试设计一个讨论论坛,但似乎有一点问题。对于我的示例,我的论坛的结构是 topicPage.jsp 包含一堆主题,replyPage.jsp 包含一堆回复,而 textArea 允许人们回复该主题。现在我遇到了一个问题,如果用户发布了回复,并且他想返回 topicPage.jsp,他单击了浏览器的后退按钮,浏览器没有转到 topicPage.jsp,而是浏览器没有这样做仍然停留在replyPage.jsp上,保持用户提交回复之前的状态。

我相信这不是唯一的情况会导致这个问题,任何需要servlet转发到原始网页的情况都会出现这个问题。有什么办法可以解决这个问题吗?

最佳答案

我的建议最好是在 jsp 中监视 session ,看起来像这样

if (session == null || session.getAttribute("username") == null) {
        response.sendRedirect("yourDesiredpage.jsp"); // No logged-in user found, so redirect to login page.
    } else {
        response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
        response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
        response.setDateHeader("Expires", 0);
        chain.doFilter(req, res);  
    }

希望这对你有帮助

关于java - 通过 Java Servlet 转发到自身的网页在浏览器后退/前进按钮上的行为不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26134338/

相关文章:

java - 在 pax 考试测试阶段未创建配置管理和声明性服务

jsp - Java EE中的JspWriter和PrintWriter之间的区别?

jsp - Java EE 还是普通的 Web 应用程序?

java - 使用 servlet 时出现 Netbeans 错误

java - 为什么我写mvn help :effective-pom in the command prompt?时出现错误 "No plugin found for prefix ' help' in the current project"

java - 用java构建Web应用程序的最佳框架

java - $ 在表达式语言中做什么

java - InputStream 在 Apache FileUpload API 中关闭

java - 如何在 ODL Controller 中配置拒绝服务过滤器

java - 在 Hibernate 4 中定义默认类型映射