跨服务平台跳转问题

遇到这样的问题,请求解决方案。

resin下的应用服务 A, http://192.168.0.100:8001/a/index.jsp
tomcat下的应用服务 B,http://192.168.0.200:8080/b/index.jsp

请问我怎么把登陆A的用户信息,发给B,B处理信息后反馈给A。怎么解决呢?
servlet的request 和 session 是做不到的了,跨了服务。

可以用httpclient来发送请求处理返回结果

[color=blue][b]在Servlet中新建一个HttpConnection连接,然后通过这个连接将Servlet接收到的request 和 session 信息,传递另外的服务![/b][/color]
[color=blue]

大致流程:
A, http://192.168.0.100:8001/a/index.jsp

调用a中的一个Servlet,在这个Servlet中新建一个到b的HttpConnection

然后通过HttpConnection下b发送所需要的信息

最后,将b的返回信息,呈现给a。
[/color]

[color=blue][b]这是The Java Tutorial中的一个例子[/b][/color]

[code="java"]
import java.io.*;
import java.net.*;

public class Reverse {
public static void main(String[] args) throws Exception {

if (args.length != 2) {
    System.err.println("Usage:  java Reverse " +
                           "http://<location of your servlet/script>" + 
                           " string_to_reverse");
    System.exit(1);
}

String stringToReverse = URLEncoder.encode(args[1], "UTF-8");
     // 这以下是重点
URL url = new URL(args[0]);
     // 1、建立连接
URLConnection connection = url.openConnection();
     // 2、设置为 可写入的 模式
connection.setDoOutput(true);
     // 3、获得该HTTP连接的“写入流” 的引用
OutputStreamWriter out = new OutputStreamWriter(
                          connection.getOutputStream());
     // 4、写入相应的参数
out.write("string=" + stringToReverse);
out.close();

     // 5、处理HTTP的Response
BufferedReader in = new BufferedReader(
            new InputStreamReader(
            connection.getInputStream()));

String decodedString;

while ((decodedString = in.readLine()) != null) {
    System.out.println(decodedString);
}
in.close();
}

}

[/code]

1) request的处理,基本楼上就可以了;
2)session的单独处理,你看看你的平台的, 有的cookie里面用 ;jsessionid来标识。
要统一替换到你的目标平台的。

就用cookie来存用户标识(如果要安全,就加密), 这样就能解决了。如果在不同的域的话,搞一个cookie provider就行了。