java 获取 post参数

原创 2016年08月29日 15:51:33
/**  
 * @Title: GgCzyTBServlet.java
 * @Package com.zzxy.common.gg_jgtb.servlet
 * @Description: TODO
 * @author 屈卞忠
 * @date 2016-8-22 下午05:02:03
 */
package com.zzxy.common.gg_czytb.servlet;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.HashMap;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zzxy.common.gg_czytb.iface.CzytbFacade;
import com.zzxy.common.gg_jgtb.iface.JgtbFacade;
import com.zzxy.common.util.SpringBeanUtil;

/**
 * ClassName: GgCzyTBServlet 
 * @Description: TODO
 * @author 屈卞忠
 * @date 2016-8-22 下午05:02:03
 */
@SuppressWarnings("serial")
public class GgCzyTBServlet extends HttpServlet {
	CzytbFacade czytbFacade = (CzytbFacade) SpringBeanUtil.getBean("czy.CzytbFacade");

	/**
	 * 新增用户数据
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String str = this.getData(request);
		HashMap<String, String> map = this.jsonForMap(str);
		
		czytbFacade.addOrUpdateCzy(map.get("userId").toString(),map.get("username").toString(),map.get("orgId").toString()
				,map.get("phone").toString(),map.get("workTel").toString());
	}

	/**
	 * 更新用户数据
	 */
	public void doPut(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}
	/**
	 * 
	 * @Description: TODO 获取请求传输过来的数据
	 * @param @param req
	 * @param @return
	 * @param @throws IOException   
	 * @return String  
	 * @throws
	 * @author 屈卞忠
	 * @date 2016-8-25 上午09:36:14
	 */
	private String getData(HttpServletRequest req) throws IOException {
		// 获取post参数
		StringBuffer sb = new StringBuffer();
		InputStream is = req.getInputStream();
		InputStreamReader isr = new InputStreamReader(is);
		BufferedReader br = new BufferedReader(isr);
		String s = "";
		while ((s = br.readLine()) != null) {
			sb.append(s);
		}
		return  sb.toString();
	}
	/**
	 * 
	 * @Description: TODO 将json字符串转换为hashmap
	 * @param @param str
	 * @param @return   
	 * @return HashMap<String,String>  
	 * @throws
	 * @author 屈卞忠
	 * @date 2016-8-26 下午02:38:02
	 */
	private HashMap<String, String> jsonForMap(String str) {
		/*
		{"data":{"userId":"0002","username":"朱玉国","orgId":"100","orgName":"长沙3银行总行","deptId":"","position":"董事长","phone":"18807312207","workTel":"54221","shortTel":"101","displayOrder":1,"enable":true},"secret":"7cb32c5c98344646b6a9c9ac7caf5245"}
		*/
		HashMap<String, String> map = new HashMap<String, String>();
		String data_ = str.substring(1, str.length()-1);
		System.out.println(data_);
		String data1_ = data_.split("}")[0];
		String data2_ = data1_.substring(8);
		String [] data = data2_.split(",");
		for(int i=0 ;i<data.length;i++){
			String[] s_ = data[i].split(":");
			String key=s_[0].substring(1, s_[0].length()-1);
			String value = "";
			if(s_[1].contains("\"")){
				value = s_[1].substring(1, s_[1].length()-1);
			}else{
				value = s_[1];
			}
			map.put(key, value);
		}
		return map;
	}
}


版权声明:本文为博主原创文章,允许转载,请标明出处。

Java获取post请求json数据

java接收http请求body中的json数据 发表于 2015-12-26   |   分类于 java   |   暂无评论 一般情况下,web应用中,浏览器发送http...
  • k469785635
  • k469785635
  • 2017年03月01日 17:47
  • 8831

java获取GET和POST请求的URL和参数列表

一 获取URL: getRequestURL() 二 获取参数列表: 1.getQueryString() 只适用于GET,比如客户端发送http://localhost/testServlet...
  • dcchencsdn
  • dcchencsdn
  • 2017年05月27日 11:14
  • 432

java 获取 post参数

/** * @Title: GgCzyTBServlet.java * @Package com.zzxy.common.gg_jgtb.servlet * @Description: TO...
  • qwdafedv
  • qwdafedv
  • 2016年08月29日 15:51
  • 475

java如何得到GET和POST请求URL和参数列表

java如何得到GET和POST请求URL和参数列表
  • yaerfeng
  • yaerfeng
  • 2014年02月05日 22:28
  • 152720

request请求获取参数(post和get两种方式)

提交表单代码: Insert title here 测试请求参数 点击这里 用户名: 密 码: 性 别:男 女 爱 好:吃饭 睡觉 ...
  • u012110719
  • u012110719
  • 2015年03月27日 10:08
  • 39321

java如何得到GET和POST请求URL和参数列表

刚开始以为request.getQueryString()也能得到post body里面的参数 后来发现其实是行不通的,request.getQueryString()方法只能得到url?后面的参数 ...
  • zero_295813128
  • zero_295813128
  • 2016年04月03日 16:44
  • 1523

Java Post 数据请求和接收

最近做项目时,发现手机客户端通过http协议post方式上传数据到服务端,在服务器端通过request.getInputStream()能获取到相应的数据,但用request.getParameter...
  • zouqingfang
  • zouqingfang
  • 2015年03月31日 17:27
  • 13295

获取post请求的数据

通常从http post请求获取数据的方法如下: 1.request.getInputStream() 2.request.getReader() 3.request.getParame...
  • dengbixuan
  • dengbixuan
  • 2017年06月22日 00:07
  • 1022

使用request.getInputStream() 获取POST数据

InputStream is = request.getInputStream();  DataInputStream input = new DataInputStream(is);  Stri...
  • qwdafedv
  • qwdafedv
  • 2016年08月22日 16:31
  • 1297

POST获取参数。【POST】

当使用 GET 传输的时候就可以采用上述的方式获取,但是GET传输是将参数直接拼接在URL后面,通过地址栏传输,一些敏感的参数会直接暴漏同时GET传输对于参数的长度也有所限制,所以很多时候需要我们通过...
  • Abubu123
  • Abubu123
  • 2016年09月21日 14:28
  • 4300
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 获取 post参数
举报原因:
原因补充:

(最多只允许输入30个字)