如何将数据从一个Web应用程序发送到另一个

时间:2013-04-03 12:14:10

标签: java web-applications servlets httprequest

我在两个不同的服务器上有两个Web应用程序。我想在标题中发送一些数据或者请求到其他Web应用程序。我该怎么做,请帮助我。

3 个答案:

答案 0 :(得分:5)

您可以通过多种方式传递数据:

  1. 通过您的应用发出http请求:

    URLConnection conn = new URL("your other web app servlet url").openConnection();
    // pass data using conn. Then on other side you can have a servlet that will receive these calls.
    
  2. 使用JMS进行异步通信。

  3. 使用webservice(SOAP或REST)

  4. 使用RMI

  5. 通过在应用之间共享数据库。所以一个人写一个表,另一个人从那个表中读取

  6. 通过共享文件系统文件...一个文件写入另一个文件读取文件。

  7. 您可以使用套接字连接。

答案 1 :(得分:0)

HttpClient可以提供帮助

http://hc.apache.org/index.html

  

Apache HttpComponents

     

Apache HttpComponents™项目负责创建和   维护一个专注于HTTP和Java的低级Java组件工具集   相关协议。

答案 2 :(得分:0)

一个Web应用程序正在充当另一个Web客户端的客户端。您可以使用org.apache.http库在Java中创建HTTP客户端代码。你将如何做到这一点取决于几件事:

  1. 您使用的是http还是https?
  2. 您发送数据的应用程序是否具有REST API?
  3. 您是否拥有基于SOAP的Web服务?
  4. 如果您有基于SOAP的Web服务,那么为它创建Java客户端非常容易。如果没有,您可以执行类似的操作,并在尝试在Web应用程序中运行代码之前在常规Java客户端中测试代码。

     import org.apache.http.client.utils.*;
     import org.apache.http.*; 
     import org.apache.http.impl.client.*;
    
      HttpClient httpclient = new DefaultHttpClient();
      try {
         URIBuilder builder = new URIBuilder();
         builder.setHost("yoursite.com").setPath(/appath/rsc/);
         builder.addParameter("user", username);
         builder.addParameter("param1", "SomeData-sentAsParameter");
         URI uri = builder.build();
         HttpGet httpget = new HttpGet(uri);
         HttpResponse response = httpclient.execute(httpget);
         System.out.println(response.getStatusLine().toString());
         if (response.getStatusLine().getStatusCode() == 200) {
            String responseText = EntityUtils.toString(response.getEntity());
            httpclient.getConnectionManager().shutdown();
         } else {
            log(Level.SEVERE, "Server returned HTTP code "
                    + response.getStatusLine().getStatusCode());
         }
      } catch (java.net.URISyntaxException bad) {
         System.out.println("URI construction error: " + bad.toString());
      }