javascript - Web 浏览器后退按钮应保留在相同的 JSP 上,而不是以前的 JSP

标签 javascript java jsp servlets

我有多个 JSP 页面,并且我将用户从一个 JSP 重定向到另一个 JSP。假设我有 JSP1、JSP2 和 JSP3,并且我将用户从 JSP1 重定向到 JSP2。
问题:如果用户当前正在使用 JSP2,并且如果他/她按下浏览器的后退按钮,则会将用户从 JSP2 重定向到 JSP1。

要求:我想要的是,如果用户按下浏览器的后退按钮,它不应该重定向到 JSP1,而应该让用户保持在 JSP2 上。

最佳答案

RequestDispatcher.forward

此方法(forward())用于将请求传递到同一服务器内的另一个资源以进行进一步处理,另一个资源可以是任何 servlet、jsp 页面或任何类型的文件。当我们调用forward方法将请求发送到另一个资源而不通知客户端时,此过程由 Web 容器负责,哪个资源将处理 requestDispatcher 对象上提到的请求,我们可以通过使用 ServletContext 或 Request 两种方式获取该请求。这也称为服务器端重定向。

RequestDispatcher rd = request.getRequestDispatcher("pathToResource");
rd.forward(request, response);

或者

RequestDispatcher rd = servletContext.getRequestDispatcher("/pathToResource");
rd.forward(request, response);

SendRedirect():
该方法在 HttpServletResponse 中声明 此方法用于将客户端请求重定向到其他位置以进行进一步处理,新位置在不同服务器或不同上下文上可用。我们的 Web 容器处理此问题并使用浏览器传输请求,并且此请求在浏览器中作为新请求可见。有时这也称为客户端重定向。

关于javascript - Web 浏览器后退按钮应保留在相同的 JSP 上,而不是以前的 JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44198999/

相关文章:

javascript - 循环中几个元素的 JS ArrowDown addEventListener(演示)

javascript - 循环遍历无序列表以添加和删除类

javascript - 按钮上的数据加载消息不适用于 ajax 调用

jsp - JSTL LocalDateTime 格式

jsp - Servlet/JSP MVC 模式如何转换为 JSF/Facelets(特别是服务和 Controller 部分)?

javascript - 按下按钮时制作全高和全宽的菜单栏

java - Ehcache 如何在元素过期时删除键?

java - 附加新字符串时,JTextPane 中的彩色文本变得困惑

java - 即使在 'Cancel' 上也使用 JFileChooser showSaveDialog 保存的文件

java - Struts 2属性标签无法访问抽象父类成员