request.getReader()乱码问题_爱吃鱼油的博客-程序员宅基地

技术标签: java  httpclient  

import java.io.BufferedReader;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.paic.mhis.api.common.define.ConstantName;

public class httpUtil {
	public static void printWriter(HttpServletRequest request,
		HttpServletResponse response, Object object) throws IOException {
		response.setContentType(ConstantName.JSON_CONTENT_TYPE);		
		response.getWriter().print(JSON.toJSON(object));
		response.getWriter().flush();
		response.getWriter().close();
	}

	public static StringBuffer getRequestContent(HttpServletRequest request)
			throws IOException {
		request.setCharacterEncoding("utf8");
		StringBuffer content = new StringBuffer("");
		
		String line = null;
		BufferedReader br = request.getReader();
		while( (line = br.readLine()) != null){
			//line = new String(line.getBytes(), "utf-8");
			content.append(line); 
		}
		return content;
	}	

}


常量类

public interface ConstantName {
	public String JSON_CONTENT_TYPE = "application/json; charset=UTF-8";
	
	public String STATUS_EXPRESS = "status";
	public String STATUS_SCUESS = "01";
	public String STATUS_FAILURE = "02";
	public String PARAM_FAILURE = "03";
	public String BUSINESS_FAILURE = "04";
	
	public Boolean STATUS_SUCCESS = true;
	
	public Boolean STATUS_FAIL = false;
}

发送post请求

public static String submitPost(String url, String params) {
	String response = null;		
	HttpClient client = new HttpClient();
	HttpMethod method = getPostMethod(url, params);
	method.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "utf-8");
	try {
		client.executeMethod(method);
		System.out.println("submitPost===="+method.getResponseBodyAsString());
		if (method.getStatusCode() == HttpStatus.SC_OK) {
			response = method.getResponseBodyAsString();
		}
	} catch (IOException e) {
		e.printStackTrace();
	} finally {
		method.releaseConnection();
	}

	return response;
}

	@SuppressWarnings("deprecation")
	private static HttpMethod getPostMethod(String url, String inputData) {
		PostMethod put = new PostMethod(url);
		//put.setRequestHeader(new Header("Content-Type", "application/json;charset=utf-8"));
		put.setRequestBody(inputData);
		//put.setParameter(Constants.INPUT_DATA, inputData);
		return put;
	}



request.getParameter()
request.getInputStream()
request.getReader()







版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u010081710/article/details/51191002

智能推荐

剑指offer学习笔记——面试题32:整数中1出现的次数(从1到n整数中1出现的次数)_夜舟酥雨的博客-程序员宅基地

题目描述:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。解题思路:解法一:不考虑时间效率的解法(略)ps:我感觉是个程序员都能想到这第一种解法,时间复杂度O(nlo...

启动白屏终极解决方案_System_err的博客-程序员宅基地_exception function:createinstancecontext, exceptio

React Native启动白屏是一个很普遍但又很严重的问题,网上也有很多文章,这里就此问题,从分析到常用的解决方案做一个简单的总结。先看图,白屏的现象:图中手机为ZTE星星2号(专用测试机,为嘛?因为公司没给配啊,还有自己买的,所以就是专用的喽),Andriod 4.4的,可以看到白屏现象很严重,最后用自己的华为mate9,Android 8.0系统进行了测试,依然存在白屏的现象。...

RHEL6.4+Clonezilla+pxelinux搭建克隆备份服务器_cwll2009的博客-程序员宅基地

RHEL6.4+Clonezilla+pxelinux搭建克隆备份服务器0x01.基本原理用RHEL提供tfpt,nsf,dhcp服务,客户端从在CMOS中设置启用PXE网络启动。客户端启动时先通过DHCP获取IP地址,在DHCP中设置调用pxlinux.0引导程序,由pxlinux.0根据pxlinux.cfg/default中的配置文件找到启动镜像文件引导系统。0x02.安装R

quartz + kettle8二次开发-实现集群高可用_天地炫舞的博客-程序员宅基地_kettle 二次开发手册

quartz+kettle8二次开发-实现集群高可用quartz+kettle8二次开发-实现集群高可用quartz+kettle8二次开发-实现集群高可用

VBA 特约导入代码_weixin_34061042的博客-程序员宅基地

'半夜里匆忙写成,第一次用VBA,只是实现功能,未做性能优化,有时间要重写一下。Sub Fighting()Application.ScreenUpdating = FalseApplication.DisplayAlerts = FalseDim Cell As Range, FirstAddress As StringDim temp As LongDim c ...

crc8_tianxiawujiang的博客-程序员宅基地

unsigned char CFrameInput::GetCheckSum(unsigned char *crcData, int crcDataLen){ unsigned char CRC8Table[256]   =   {               0x00,0x07,0x0E,0x09,0x1C,0x1B,0x12,0x15,0x38,0x3F,0x36,0x31,0x2

随便推点

kotlin.NotImplementedError: An operation is not implemented: not implemented_tian_di_yi_jian的博客-程序员宅基地

这个和Kotlin有关,最简单的解决办法就是 删除TODO(” “)05-24 09:26:15.596 22824-22824/com.kotlin.usercenter E/AndroidRuntime: FATAL EXCEPTION: main Process: com.kotlin.usercenter, PID: 22824 java.lang.IllegalS...

robot模拟键盘失效_troubl_2014的博客-程序员宅基地

1. 发现一旦切换程序后,robot无法执行了请用管理员身份运行2. 远程登陆最小化或关闭 模拟键盘操作失效因为通过mstsc启动远程桌面连接时,被连接的Windows会启动一个会话(Session)。此时你对远程桌面窗口里面的所有操作(鼠标,键盘)将会‘翻译’成TCP包传输过去,被连接的Windows接收到这些包之后,‘还原’命令并且在当前的活动会话上面执行。而当你断开连接时(点X关...

新唐单片机代码评审总结_嵌入式Linux,的博客-程序员宅基地

昨晚上,我们一个同事组织了一个小会议,大家一起讨论了一个项目的单片机代码,这个单片机用的是新唐单片机,期间大家也讨论了一些问题,总结一下,希望对写单片机的同学们有帮助。我这个同事写的代码...

我的第一篇博客_tianxingzh的博客-程序员宅基地

今天看到一篇很早的关于一个程序员的故事,一个很老的程序员的奋斗史,大一开始学计算机,之后转学C,C++再后来转到左IC(一种软件,硬件,嵌入式开发,也就是说用自己的芯片,自己的操作系统,自己的软件实现功能) ,在上海带着自己的女朋友,不,应该说是老婆,放弃月薪10000¥的工资,坚持要到IC公司去应聘而薪水只有6000¥,很感人,写以上文字已作纪念。

Maven(六) eclipse 使用Maven deploy命令部署构建到Nexus_weixin_30252155的博客-程序员宅基地

转载于:http://blog.csdn.net/jun55xiu/article/details/430516271应用场景:SYS-UTIL(系统工具)项目部署、构建成JAR包(SYS-UTIL-XXX.jar)存储到Nexus私服上,以供其它项目(依赖)使用2 目的:通过Nexus网页服务器管理项目开发各周期中不同版本的JAR包(如SYS-UTIL-0.0.1.jar,...

java 输入流编码格式,转换流 -解决输入输出时编码格式不统一的问题_A菲拉格慕(小艳子)的博客-程序员宅基地

转换流解决编码格式不统一,出现乱码问题idea默认utf-8,Windows系统中文默认GBK,如,文件默认保存编码格式为GBK,在FileReader时会报错InputStreamReaderjava.lang.Object继承者 java.io.Reader继承者 java.io.InputStreamReader因此拥有Reader的共性方法是FileReader的父类InputStream...