【问题标题】:redirect to previously access page using jsp and servlet使用 jsp 和 servlet 重定向到以前访问的页面
【发布时间】:2023-03-29 05:07:01
【问题描述】:

我正在使用 jsp 和 servlet 开发一个 Web 应用程序。 我已授予用户无需登录即可在我的网站中搜索的权利,但希望他们在登录后获得预约。 那么,在单击约会链接时显示登录页面后,如何将用户重定向到先前访问的页面? 提前致谢

【问题讨论】:

  • 您需要将他们的最后一页保存在某个数据库中,然后再检索它。
  • @Panther,只要简单地触发插入和选择查询,它就会在服务器上增加很多负载
  • 您希望用户在登录前的最后一个页面中登录。或到他上次登录时的最后一个页面。
  • 到他登录前访问的页面...
  • 那么您可以简单地在 url 查询参数中传递最后一页引用,或者完整的 url 编码。或者,如果您的页面有限,请创建一个静态地图,每个键引用一个页面。将该键作为查询参数传递

标签: jsp jakarta-ee servlets


【解决方案1】:

无状态的方法是将之前访问过的页面的 URL 编码为登录页面的 URL 查询参数。成功登录后,登录控制器重定向到提供的 URL。

您还可以将重定向目标保存在服务器状态,但这比它的价值要麻烦得多,尤其是当您需要在负载均衡器后面扩展应用程序时。

【讨论】:

  • 你知道什么是URL查询参数吗?它是每个 URL 中的 key=value 元素。您需要使用 URLEncoder 类(周围有很多)对添加约会页面的 URL 进行编码,然后将其作为值添加到像 afterLogin 这样的键中。登录控制器查找 afterLogin 键,如果找到,将 request.redirect 重定向到该值的解码版本。
  • 我知道键值对,但我没有使用过 URLEncoder 类...所以你能帮我吗...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-17
  • 1970-01-01
相关资源
最近更新 更多