`
geeksun
  • 浏览: 965370 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用URL传送对象到另一平台

阅读更多

业务场景需要把平台A的数据传送到另一平台B,然后在B端保存数据,两边的数据表是一样的,数据类型有几个不同,考虑了使用httpclient、socket和webservice等几种解决方案后,最后选用了使用URL的ObjectStream来传送对象,代码:

import java.io.InputStream;
import java.io.OutputStream;
import java.io.ObjectOutputStream;
import java.net.URL;
import java.net.HttpURLConnection;

/**
 * 数据推送工具类
 * 2011-5-24
 */
public class DataPushUtil {

	/**
	 * 数据推送处理
	 * @param goal_url
	 * @param obj
	 * @throws Exception 
	 */
	@SuppressWarnings("unused")
	public static void dataPush(String goal_url, Object obj) throws Exception{
		String push_url = "http://" + Constants.CBS_URL + "/" + goal_url;
	    
	    URL url = new URL(push_url);
		HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
		urlConn.setDoOutput(true);
		urlConn.setDoInput(true);
		urlConn.setUseCaches(false);
		urlConn.setRequestProperty("Content-type","application/x-java-serialized-object");
		urlConn.setRequestMethod("POST");
		urlConn.connect();
		OutputStream outStrm = urlConn.getOutputStream();
		ObjectOutputStream oos = new ObjectOutputStream(outStrm);

		oos.writeObject(obj);
		oos.flush();
		oos.close();
		@SuppressWarnings("unused")
		InputStream inStrm = urlConn.getInputStream();
	}
	
}

 DataPushUtil是对象的推送工具类,调用方法很简单,只需要两个参数,goal_url是要推送到的url,obj是要传送的对象。

 

接收端的处理代码

	public void doPost(HttpServletRequest request, HttpServletResponse response)
		throws ServletException, IOException {
		InputStream in = request.getInputStream();
		ObjectInputStream ois = new ObjectInputStream(in);
		try{
			Object push_info = ois.readObject();
			
		}catch(Exception e){
			e.printStackTrace();
		}

 在doPose方法里使用ObjectInputStream把传送的ObjectStream解析成Object,要传送的对象必须实现Serializable接口。

分享到:
评论

相关推荐

    iphone url获取

    你可以通过`+[NSURL URLWithString:]`方法创建一个`NSURL`对象,将字符串转换为URL。 2. **URLComponents**:如果你需要处理更复杂的URL,如解析查询参数,可以使用`NSURLComponents`类。它可以让你单独访问URL的...

    ASP技术常遇问题解答-如何将Query String传送到另一个ASP文件去?.zip

    本文档“ASP技术常遇问题解答-如何将Query String传送到另一个ASP文件去?”将深入探讨这一主题。 Query String是URL的一部分,用于传递参数,通常以问号(?)后跟键值对的形式出现。例如,`...

    在C#中使用ASP.NET对象.doc

    此外,还可以使用`Response.Redirect()`方法来重定向用户到另一个URL。 2. Request对象:Request对象则用于获取客户端发送到服务器的数据,比如HTTP请求头、表单数据、查询字符串等。例如,`Request.QueryString`可...

    CXF服务端对象文件支持断点传送

    文件下载方面,"客户端下载在第二个资源"可能指的是CXF服务提供了两个不同的URL,一个用于获取文件的一部分,另一个用于获取完整的文件。这样,当下载大文件时,客户端可以根据需要先请求部分文件,例如根据已下载的...

    JSP 内置对象:request 对象.pptx

    request 对象是 JSP 中九个可供使用的隐式对象之一,它属于输入/输出对象,主要用于处理客户端传送给服务器端的请求参数。 request 对象提供了多种方法来获取请求参数,例如: 1. String getParameter(String name...

    打开新的窗口并传送参数

    综上所述,实现“打开新的窗口并传送参数”的功能主要涉及以下几个关键步骤:首先,在客户端使用JavaScript的`window.open()`方法打开新窗口,并通过URL传递参数;其次,在服务器端使用ASP.NET的`Request....

    response 对象:页面跳转.pptx

    Response 对象提供了多种方法来控制输出结果,例如将客户端重定向到另一个 URL、设置 HTTP 头、写入 Cookie 等。 在 JSP 中,Response 对象是最重要的隐式对象之一,它提供了多种方法来控制页面的跳转。下面我们将...

    java多图片上传、删除、预览,post提交

    - Java中处理文件上传通常使用Servlet API,如`Part`接口和`HttpServletRequest`对象。用户选择的图片会作为`multipart/form-data`类型的请求体发送到服务器。 - 文件上传的步骤包括接收请求、解析请求体、保存...

    跨页面的传送小例子

    另一种常用的方式是利用浏览器的`localStorage`或`sessionStorage`对象。这两种存储方式都是Web Storage API的一部分,允许你在浏览器中存储键值对数据。`localStorage`的数据在关闭浏览器后仍会保留,而`...

    C#实现远程文件传送

    远程文件传送指的是将本地计算机上的文件传输到另一台远程服务器,或者从远程服务器下载文件到本地。这种功能在分布式系统、云计算和网络服务中非常常见。C#提供了多种方法来实现这一目标,包括但不限于FTP(文件...

    pda传送图片代码

    根据给定文件的信息,我们可以提炼出关于PDA传送图片到Web服务器的相关知识点,涉及C#编程、PDA设备(如Pocket PC)、Web开发(包括ASP.NET)以及网络通信技术。 ### PDA传送图片代码的核心概念 #### PDA设备与...

    安卓文件下载上传解压相关-调出摄像头拍照保存到画布将图片URi传送到后台.rar

    这个压缩包文件“安卓文件下载上传解压相关-调出摄像头拍照保存到画布将图片URi传送到后台.rar”包含了几个关键知识点,下面我们将详细探讨。 首先,调用摄像头并保存图片到画布是安卓应用中的一个基础功能。通常,...

    一个完整的jquery+ajax传送请求的实例

    本文将深入探讨一个完整的jQuery+AJAX传输请求的实例,旨在帮助开发者理解如何有效地使用这两种技术实现异步数据通信。 首先,jQuery是一个强大的JavaScript库,它为DOM操作、事件处理、动画效果和Ajax交互提供了...

    ajax 入门基础之 XMLHttpRequest对象总结

    创建XMLHttpRequest对象有两种方式,一种是针对Internet Explorer浏览器,使用ActiveXObject: ```javascript http_request = new ActiveXObject("Msxml2.XMLHTTP"); http_request = new ActiveXObject("Microsoft....

    ajax请求serlvet传送汉字

    Ajax通过JavaScript创建XMLHttpRequest对象来实现这一功能,而Servlet是Java Web应用中的一个组件,用于处理来自客户端的请求并返回响应。 在Ajax请求中发送汉字,需要关注字符编码问题。默认情况下,Ajax请求的...

    html通过 ajax jsonp跨域请求接收和传送数据

    然后,创建一个`<script>`标签,将`src`属性设置为服务器的URL,URL中包含一个回调函数名,如`?callback=handleData`。服务器接收到请求后,会返回一段JavaScript代码,形如`handleData({key1: 'value1', key2: '...

    Python爬虫保姆级入门教程.pdf

    URL管理器负责管理待爬取的URL集合和已爬取的URL集合,将待爬取的URL传送给网页下载器。网页下载器负责爬取URL对应的网页,存储成字符串,传送给网页解析器。网页解析器负责解析出有价值的数据,存储下来,同时补充...

    PHP调用接口用post方法传送json数据的实例

    该实例中,我们将使用curl扩展库来发起post请求,并将json数据作为请求体传送到服务器端。 首先,让我们了解一下post请求的基本概念。Post请求是一种常见的HTTP请求方法,用于将数据从客户端发送到服务器端。在本例...

    jsp计算一元二次方程的根

    在本实验中,需要将Servlet的类路径及对应的URL模式添加到web.xml文件中,以便容器能够通过指定的URL模式访问到对应的Servlet类。 具体实验步骤如下: - 首先,需要编写Java Bean类Equation,其中包含计算一元二次...

Global site tag (gtag.js) - Google Analytics