用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - android代码库

序列化对象传递

2015-01-15 作者: 云代码会员举报

[android]代码库

/**
 * 客户端代理,用于Android调用后台EJB
 * @author feige
 *
 */
public class ClientProxy {
    //服务器端响应客户请求的URL
    private static String baseResourceURL = ClientConfig.AEP_RESOURCE_URL;
    private static String brokerURL = ClientConfig.AEP_BROKER_URL;
    //private static String brokerURL = "http://192.168.2.203:8080/aep/MobileBroker";
     
    /**
     * 调用远端EJB
     * @param remoteClass 要查找对象的接口class对象(EJB的remote接口)
     * @param beanName 要查找对象的bean名称,一般就是EJB实现类的名称,除非你用@EJB标注重新命名
     * @param methodName 要调用的方法名称
     * @param paras 调用所需的参数
     * @return
     */
    public Object call(Class remoteClass,String beanName,String methodName,Object... paras){
        HttpURLConnection urlConn = null;
        try{
            URL postUrl = getRequestURL();
            if(postUrl == null)
                return null;
            //创建一个链接
            urlConn = (HttpURLConnection)postUrl.openConnection();
            //设置是否向httpUrlConnection输出,因为我们要通过序列化对象把调用参数发送给后台,这里要设置成true;
            urlConn.setDoOutput(true);
            // 设置是否从httpUrlConnection读入,默认情况下是true; 我们需要读入返回结果的序列化文件
            urlConn.setDoInput(true);
            //设置请求方式,这里设置为POST请求
            urlConn.setRequestMethod("POST");
            //设置是否使用缓存,post请求不能使用缓存
            urlConn.setUseCaches(false);
            //设置只作用于当前的实例
            urlConn.setInstanceFollowRedirects(true);
            //设定传送的内容类型是可序列化的java对象
            urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            urlConn.setConnectTimeout(15*1000);
            //打开连接
           // urlConn.connect();
            //数据输出流,该语句隐含的执行connect动作
            //DataOutputStream out = new DataOutputStream(urlConn.getOutputStream());
            //将参数写入流,刷新提交关闭流
            writeMobileDTO(urlConn,remoteClass,beanName,methodName,paras);
            Object result = getResponseObject(urlConn);
             
           return result;
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            if(urlConn != null)
                urlConn.disconnect();
        }
        return null;
    }


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...