Java (jsp) 使用 HTTP POST 数据重定向?

发布于 2024-10-14 07:30:07 字数 372 浏览 1 评论 0原文

我有一个允许访客通过访客帐户登录的系统。我无法修改系统的源代码,但我可以添加我自己的JSP文件。我正在实施反网络钓鱼登录流程,并且不想在 HTML 中公开真实的登录 URL。我不想创建直接发布到真实登录 URL 的“访客”链接,而是将用户转发到我自己的 JSP,将他们的请求重定向到真实登录。

这意味着我需要发送 POST 数据来执行重定向中的真实登录脚本。如果可能的话,我不想使用 HttpClient 类来打开连接并进行发布。在发布到登录脚本后,系统会自行执行多次重定向。这意味着如果我使用 HttpClient,我必须自己处理它们。

那么,是否可以执行 response.sendRedirect() 并将 POST 数据包含到重定向 URL 中?

I have a system that allows guest logins via a guest account. I cannot modify the source code of the system, but I can add my own JSP files. I am implementing an anti-phishing login process and don't want to expose the real login URL in my HTML. Instead of creating a "guest" link that posts directly to the real login URL, I would like to forward the user to my own JSP that redirects their request to the real login.

This means I need to send POST data do the real login script in my redirect. If possible, I do not want to use the HttpClient class to open a connection and do the posting. The system does several redirects of its own after posting to the login script. Which means I would have to handle them myself if I used HttpClient.

So, is it possible to do a response.sendRedirect() and include POST data to the redirect URL?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鲜肉鲜肉永远不皱 2024-10-21 07:30:07

只需转发完整的请求到另一个控制器(servlet/JSP)并让另一个控制器处理和响应。

来自 Java 文档

forward(ServletRequest 请求,
        ServletResponse响应)
        抛出 ServletException,
               IO异常

将请求从 servlet 转发到服务器上的另一个资源(servlet、JSP 文件或 HTML 文件)。此方法允许一个 servlet 对请求进行初步处理,并允许另一个资源生成响应。

Just forward the complete request to the other controller (servlet/JSP) and let the other controller process and respond.

From the Java Docs:

forward(ServletRequest request,
        ServletResponse response)
        throws ServletException,
               IOException

Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server. This method allows one servlet to do preliminary processing of a request and another resource to generate the response.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文