Servlet到服务器之间的servlet连接

时间:2011-03-23 02:59:22

标签: java servlets

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

使用此类解决方案的优缺点是什么?什么是其他替代品或更好的设计选择?

1 个答案:

答案 0 :(得分:0)

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

<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().