2 通过流的方式获取Request中的参数

1 RequestStreamUtil

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.beanutils.BeanUtils;

/**
 * requst流对象工具类
 * @author LUSHUIFA242
 *
 */
public class RequestStreamUtil {
   
	
	/**
	 * 将request流中的数据转换成String
	 * @param request
	 * @return
	 */
      public static String toString(HttpServletRequest request){
   
		    String valueStr = "";
		    try {
   
				StringBuffer sb = new StringBuffer();
				InputStream is = request.getInputStream();
				InputStreamReader isr = new InputStreamReader(is);
				BufferedReader br = new BufferedReader(isr);
				String s = "";
				while ((s = br.readLine()) != null) {
   
					sb.append(s);
				}
				valueStr = sb.toString();
			} catch (IOException e) {
   
				e.printStackTrace();
				valueStr = "";
			}
			return valueStr;
      }
      
	   /**
	  	 * 将request流中的数据转换成Map
	  	 * @param request
	  	 * @return
	  	 */
	    public static Map<String,String> toMap(HttpServletRequest request){
   
	    	Map<String,String> parameter = new HashMap<String,String>();
	    	String valueStr = toString(request);
	    	try {
   
	    		if(null!=valueStr&&!"".equals(valueStr)){
   
			    	String[] valueArr = valueStr.split("&");
			    	for (String kvStr : valueArr) {
   
			    		String[] kvStrArr = kvStr.split("=");
			    		parameter.put(kvStrArr[0], kvStrArr[1]);
					}
			    }else{
   
			    	parameter = getParameterMap(request);
			    }
			} catch (Exception e) {
   
				e.printStackTrace();
			}
			return parameter;
	    }
	    
	    /**
	  	 * 将request流中的数据转换成bean
	  	 * @param request
	  	 * @return
	  	 */
	    public static Object toBean(HttpServletRequest request,Class<?> beanClazz){
   
	    	Map<String, String> mapObject
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值