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基于HTTP协议post传参,获取参数

ja
  • xb12369
  • xb12369
  • 2014年10月28日 13:13
  • 33328

JAVA接口传递参数(POST),从接口接收数据(JSON)

1,给接口传递json格式的数据package fkJAVA.Array; import java.io.BufferedReader; import java.io.DataOutputStream...

关于ajax post请求,参数过大产生的问题解决 Java

之前做了一个图片上传的功能,前端是把图片编码成BASE64,但是图片一大了,后台用request.getParameter("前端参数");来接收参数打印不出来,没有值,这就很尴尬了 然后一...

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

刚开始以为request.getQueryString()也能得到post body里面的参数 后来发现其实是行不通的,request.getQueryString()方法只能得到url?后面的参数 ...

java 通过Ajax前台传参数 并用 HttpURLConnection Post方式访问对外的接口

前两天做项目遇到一个问题,就是在自己的项目中要去访问项目外部的接口,从自己的项目中传参数过去,通过调用 对方提供的接口去获取想要得到的数据!第一次接触到在自己项目中去访问和调用外部的资源,然后在网上去...

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

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

利用java类的反射机制,实现了 映射 获得post(get)的参数 的BaseServlet

这几天一直在研究java的反射机制,正好作业需要写servlet,为了增加一点难度,就用java的反射机制来映射获取前端post或get过来的参数   1.该方式有点像struts2 利用...

java 通过http post方式传参参数json 方式

转自:http://zheyiw.iteye.com/blog/1571222,亲测没问题 Java代码   import java.io.IOException;   impo...

android (java) 网络发送get/post请求参数设置

最近做了一段时间android网络编程方面的项目,现在总结一下android中网络连接方式, android中网络通信分为socket编程和http编程,这里只介绍htt方面。网络请求方式可分为get...
  • yudajun
  • yudajun
  • 2013年08月13日 17:40
  • 12180

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

在servlet中GET请求可以通过HttpServletRequest的getRequestURL方法和getQueryString()得到完整的请求路径和请求所有参数列表,POST的需要getPa...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 获取 post参数
举报原因:
原因补充:

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