用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入: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、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

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

加载中,请稍后...