是否可以避免表单操作 url 附加到地址栏中的 url 中.?或者我怎么能最终删除




是否可以避免表单操作 url 附加到地址栏中的 url 中。?
或者我最终如何删除它?
前任:
1)登陆页面网址:abc.net。它是一个 JSP 页面。单击了此页面上的按钮。
2) 进入另一个包含字段以及 SUBMIT 和 CANCEL 的 JSP 页面。
3)在此页面中单击提交时,通过指定的表单操作URL,调用一个servlet并
网址更改为 abc.net/submit_click_action。
在这个servlet中,经过处理,通过RequestDispatcher,我正在进行另一个servlet调用,这使我回到登陆JSP页面。
但是我在地址栏中看到的网址是:abc.net/submit_click_action。
有没有办法避免将"submit_click_action"附加到地址栏?
或者我最终如何删除它?
我在这里读到了关于Pushstates的信息:Stackoverflow。 我不确定我是否需要使用它。
请帮忙。

转发和重定向是不同的东西。浏览器URL栏中显示的是浏览器发送到服务器的最后一个请求。

发生了什么事:

  • 您点击了提交按钮,布朗瑟将表单发布到 URL
  • 在处理请求的 servlet 中,您转发到另一个页面 - 浏览器未收到通知

=>这就是 URL 栏仍然显示操作 URL 的原因

您应该已经重定向到目标页面的URL。它被称为 Post-Redirect-Get 模式:

  • 显示的 URL 是正确的,允许用户为页面添加书签
  • 如果用户点击浏览器后退按钮,他将永远不会收到丑陋的消息"你真的要再次发送吗?":由于重定向,POST 已在浏览器历史记录中被替换

成功的 POST 请求应重定向到另一个 URL。它不应该转发到另一个 servlet。这允许用户安全地为页面添加书签或刷新页面:地址栏中显示的 URL 将是使用 GET 重定向获得的页面。

阅读 https://en.wikipedia.org/wiki/Post/Redirect/Get

相关内容

最新更新