`
120153216
  • 浏览: 62373 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

HttpClient

    博客分类:
  • java
 
阅读更多
/**
 * 可以传对象的请求转发,对象已流形式放入HTTP中
 */
public static Object doPost(Map<String,Object> parmMap,String url)
	{
		Object object = null;
		HttpClient hc = new HttpClient();
		
		String fullURL = PropertiesUtils.getValue("app") + url;
		PostMethod pm = new PostMethod(fullURL);
		
		pm.setRequestHeader("Content-Type","application/octet-stream");

		RequestEntity requestEntity = new ByteArrayRequestEntity(SerializationUtils.serialize(parmMap));
		pm.setRequestEntity(requestEntity);
		ObjectInputStream ois = null;
		try {
			hc.executeMethod(pm);
			ois = new ObjectInputStream(pm.getResponseBodyAsStream());
			object = ois.readObject();
		} catch (HttpException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				ois.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return object;
	}

 

/**
	 * @param request
	 * @param response
	 * @param o 流化的对象
	 * 将结果对象写入输出流中
	 */
	protected void processStreamResponse(HttpServletRequest request,HttpServletResponse response,Object o)
	{
		byte[] bt = SerializationUtils.serialize(o);
		OutputStream out = null;
		try {
			out = response.getOutputStream();
			out.write(bt);
			out.close();
		} catch (IOException e) {
			if (null != out) {
				try {
					out.close();
				} catch (IOException e1) {
					
					log.error(e.getMessage(),e);
				}
			}
			log.error(e.getMessage(),e);
		}
	}

 

/**
	 * @param request
	 * @param response
	 * @return 从输入流中读取对象参数
	 */
	protected Map<String, Object> processStreamRequest(HttpServletRequest request,HttpServletResponse response)
	{
		ObjectInputStream oi = null;
		Map<String, Object> map = null;
		try {
			oi = new ObjectInputStream(request.getInputStream());
		} catch (IOException e) {
			log.error(e.getMessage(),e);
		}
		try {
			 map = (HashMap<String, Object>) oi.readObject();
		} catch (IOException e) {			
			log.error(e.getMessage(),e);
		} catch (ClassNotFoundException e) {
			log.error(e.getMessage(),e);
		}
		return map;
		
	}

 

分享到:
评论

相关推荐

    httpclient.jar包下载

    《深入解析httpclient.jar及其与code.jar的关联》 在Java开发中,HTTP通信是不可或缺的一部分,而Apache HttpClient库正是Java实现HTTP客户端操作的重要工具。本文将深入探讨httpclient.jar包,以及它与code.jar包...

    httpclient官网教程中文版

    ### Httpclient官网教程中文版知识点总结 #### 一、引言 HTTP协议作为互联网的核心通信标准之一,在现代网络服务及物联网设备中扮演着至关重要的角色。随着技术的发展,越来越多的应用和服务依赖于HTTP协议来实现...

    HttpClient4.2.1版本的Jar包

    HttpClient 4.2.1版本引入了一些重要的改进和修复,以提高性能和稳定性。以下是一些关键特性: 1. **连接管理**:HttpClient 4.2.1引入了更完善的连接管理机制,允许开发者控制连接的创建、复用和关闭。`...

    HttpClient 3.x to HttpComponents HttpClient 4.x

    例如,在HttpClient 3.x中,代码可能会使用`***mons.httpclient.HttpClient`类和`***mons.httpclient.methods.GetMethod`等,而在4.x版本中,这些都被新的API所替代。程序员需要熟悉`org.apache....

    httpclient-4.2.5-API文档-中文版.zip

    赠送jar包:httpclient-4.2.5.jar; 赠送原API文档:httpclient-4.2.5-javadoc.jar; 赠送源代码:httpclient-4.2.5-sources.jar; 赠送Maven依赖信息文件:httpclient-4.2.5.pom; 包含翻译后的API文档:httpclient...

    httpclient4.2.1.zip

    本文将深入探讨HttpClient 4.2.1的核心特性和使用方法,帮助开发者更好地理解和应用这个强大的工具。 一、HttpClient简介 HttpClient是一个开放源码的Java库,由Apache软件基金会维护。它为Java程序员提供了一个...

Global site tag (gtag.js) - Google Analytics