Android struts2 对象流

之前都是通过json传输数据,突然想到最近接触到对象流(ObjectInputStream,ObjectOutputStream),便想着是否能通过对象流传输。
安卓段:

HttpURLConnection conn=null;
                OutputStream os =null;
                InputStream in =null;

                try{

                    URL url = new URL(uri);
                    conn = (HttpURLConnection) url.openConnection();
                    conn.setConnectTimeout(5000);
                    conn.setDoOutput(true);//设置允许输出
                    conn.setRequestMethod("GET");
                    conn.setRequestProperty("User-Agent", "Fiddler");
                    conn.setRequestProperty("Content-Type", "application/json");
                    os = conn.getOutputStream();
                    //os.write(content.getBytes("GBK"));//解决了json在服务端乱码
                    ObjectOutputStream oos =new ObjectOutputStream(os);
                    oos.writeObject(object);
                    oos.close();
                    if(conn.getResponseCode()!=200){
                        Log.i("返回值", String.valueOf(conn.getResponseCode()));
                        return;
                    }

服务端:

HttpServletRequest request=ServletActionContext.getRequest();

        InputStream is = request.getInputStream();

        try {
        ObjectInputStream ois = new ObjectInputStream(is);
        Note note =(Note) ois.readObject();
        ois.close();
        is.close();

在流没有关闭时 报EOF错误,关掉后报ClassNotFound错误。
传输对象都已经序列化,最后发现传输的对象的包居然要和安卓端写的对象所在包要相同才解决问题。里面具体的原因还要去探究。
//TODO 2016/8/18

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值