首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

工作中多个项目其间数据传递

2013-10-27 
工作中多个项目之间数据传递最近工作中碰到一个工作需求,需要两个系统进行数据交互,把一个系统中的相关数

工作中多个项目之间数据传递
最近工作中碰到一个工作需求,需要两个系统进行数据交互,把一个系统中的相关数据传递到另外一个系统中去。
阐明一下当时的一个环境:
1)公司有两个系统,一个是订单处理系统,一个是库存系统;订单处理系统放在公司机房内部,而库存系统放在公司总部机房,不在同一局域网。
2)订单系统获取到相关库存数据,包括产品数据、库位、数量等,依据订单的相关信息,进行产品比对,发货等等操作
由于工作经验有限,在此之前没有碰到过类似的情况。接到任务后,我第一时间想到的是把这些数据用OutputStream给输出到浏览器中,这样既可以在浏览器中查看,也可以获取到这些信息进行解析,这样对项目的结构调整也不大。后来由于项目慢慢的要做些调整和优化之后,利用这个时机就把这个需求通过WebService给实现了。孰优孰劣按我的经验暂时无法判断,不过个人还是比较喜欢WebService。
第一种方法:把信息写入OutputStream中去
1.以XML的方式进行输出
1)DAO查询数据

利用了Dom4j当中的XMLWriter类包装PrintWriter进行输出
3)编写请求响应的Servlet,利用Servlet进行响应输出XML内容
public static void main(String[] args) throws Exception {URL url = new URL("http://localhost:8083/webdemo/JsonApiServlet?checkcode=passing");URLConnection conn = url.openConnection();conn.setDoInput(true);// 默认也是true。如果设置成false,这无法读取InputStreamInputStream in = conn.getInputStream();byte[] b = new byte[1024];int length = 0;StringBuffer buffer = new StringBuffer();while((length=in.read(b))>0){buffer.append(new String(b,0,length));//读取JSON字符串}JSONObject json = JSONObject.fromObject(buffer.toString());//转换为JSON对象JSONObject message = json.getJSONObject("message");//获取Message属性JSONArray barcodegoods = message.getJSONArray("barcodegoods");//获取barcodegoods集合属性List<Barcodegoods> bgs = new ArrayList<Barcodegoods>();Barcodegoods bg = null;for(int i=0;i<barcodegoods.size();i++){//遍历集合bg = new Barcodegoods();JSONObject goods = barcodegoods.getJSONObject(i);//遍历集合中的json对象bg.setBarcode(goods.getString("barcode"));//获取值,并且赋值bg.setColorid(goods.getString("colorid"));bg.setGoods_no(goods.getString("goodsno"));bg.setSize(goods.getString("size"));bgs.add(bg);}for(Barcodegoods bs : bgs){System.out.println(bs.getBarcode());}}
这个是当时的做法,后来由于其他原因,就改成了WebService的方法进行传递

热点排行