gpt4 book ai didi

java - 跨服务器的 Servlet 到 Servlet 连接

转载 作者:行者123 更新时间:2023-12-01 05:48:10 24 4
gpt4 key购买 nike

我们有一个基于 Servlet/JSP 的应用程序,在 AIX 服务器上运行的 Websphere 应用程序服务器上运行。在客户端和前面提到的 Websphere 服务器上的应用程序之间还有另一个 Tomcat 服务器(在另一台机器上)。如何在 Tomcat 和 websphere 之间建立连接?我想到的是 - 在 Tomcat 上部署一个 servlet,并使用 java.net.URL 和 URL 连接建立 servlet 到 servlet 连接。它将来自 tomcat 服务器的请求从客户端重定向到 Websphere 服务器应用程序,并以字节流形式获取响应。

使用这种解决方案的优点和缺点是什么?还有哪些其他替代方案或更好的设计选项?

最佳答案

您可以让客户端直接将请求发送到其他服务器。所以而不是

<form action="generatereport" method="post">

使用

<form action="http://other.com/generatereport" method="post">

任何额外的参数都可以通过 <input type="hidden"> 传递.

<小时/>

或者如果支持 GET,您可以代替 method="get"也只是这样做

<a href="http://other.com/generatereport?param=foo">

response.sendRedirect("http://other.com/generatereport?param=foo");
<小时/>

或者,如果存在某些安全限制和/或客户端不应该知道其他服务器的 URL,那么您最好的选择确实是在 URLConnection 的帮助下自己玩代理。 .

URLConnection connection = new URL("http://other.com/generatereport").openConnection();
// Copy necessary request headers from request.getHeader() to connection.setRequestProperty().
// If POST, copy request.getInputStream() to connection.getOutputStream() as well.
// Copy necessary response headers from connection.getHeaderField() to response.setHeader().
// Finally copy connection.getInputStream() to response.getOutputStream().

关于java - 跨服务器的 Servlet 到 Servlet 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5400383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com