您的位置:首页 > 理论基础 > 计算机网络

httpUrlConnection post请求 传参数 及客户端接收参数

2015-09-17 11:05 731 查看
//模拟客户端请求
public class ServletMain {

public static void main(String[] args) {
TestBean tb=new TestBean("liyangyang","25");
Gson gson=new Gson();
//传入的参数
String datas=gson.toJson(tb);
String url="http://localhost:8080/ziDingYiTest/index/home.htm?type=ajaxRequest";
String data=sendPostRequest(url,datas);
//请求回来的数据
 System.out.println(data);
}

public static String sendPostRequest(String url,String param){
HttpURLConnection httpURLConnection = null;
OutputStream out = null; //写
InputStream in = null;   //读
int responseCode = 0;    //远程主机响应的HTTP状态码
String result="";
try{
URL sendUrl = new URL(url);
httpURLConnection = (HttpURLConnection)sendUrl.openConnection();
//post方式请求
httpURLConnection.setRequestMethod("POST");
//设置头部信息
httpURLConnection.setRequestProperty("headerdata", "ceshiyongde");
//一定要设置 Content-Type 要不然服务端接收不到参数
httpURLConnection.setRequestProperty("Content-Type", "application/Json; charset=UTF-8");
//指示应用程序要将数据写入URL连接,其值默认为false(是否传参)
httpURLConnection.setDoOutput(true);
//httpURLConnection.setDoInput(true);

httpURLConnection.setUseCaches(false);
httpURLConnection.setConnectTimeout(30000); //30秒连接超时
httpURLConnection.setReadTimeout(30000);    //30秒读取超时
//传入参数
out = httpURLConnection.getOutputStream();
out.write(param.getBytes());
out.flush(); //清空缓冲区,发送数据
out.close();
responseCode = httpURLConnection.getResponseCode();
//获取请求的资源
BufferedReader br = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream(),"UTF-8"));
result =br.readLine();
}catch(Exception e) {
e.printStackTrace();

}
return result;

}
}
//服务端的一个方法(客户端请求到此服务端方法)
public void ajaxRequest(HttpServletRequest request, HttpServletResponse response){
try {
//接收请求参数
InputStreamReader  reader=new InputStreamReader(request.getInputStream());
BufferedReader buffer=new BufferedReader(reader);
String data=buffer.readLine();
System.out.println(data);

//头部信息
String header=request.getHeader("headerdata");
System.out.println(header);
//向客户端发送数据
response.setContentType("text/javascript");
Student stu=new Student("liss","44");
Gson json=new Gson();
String jString=json.toJson(stu);
PrintWriter out=response.getWriter();
out.write(jString);
} catch (IOException e) {
e.printStackTrace();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java web service