从request中获取所有请求参数

从 request 中获取请求参数有两种情况
1.从 get 方法中获取请求参数
get 方法的请求参数存放在 getQueryString() 方法中,不需要从 getInputStream() 中获取
2.从 post 方法中获取请求参数
post 方法的参数存放在 流当中需要从 getInputStream() 中获取。

一次性获取request的参数,大部分是用来与json格式数据相互转化使用

package com.dada.test;  

import java.io.IOException;  

import javax.servlet.http.HttpServletRequest;  

public class RequestUtils {  

    /**       
     * 描述:获取 request 中请求的内容 
     * 
 
     * 举例: 
     * 
* @param request * @return * @throws IOException */
public static String getRequestQueryString(HttpServletRequest request) throws IOException { String submitMehtod = request.getMethod(); // GET if (submitMehtod.equals("GET")) { return new String(request.getQueryString().getBytes("iso-8859-1"),"utf-8"); // POST } else { return getRequestPostStr(request); } } /*** * 获取 request 中 json 字符串的内容 * * @param request * @return : byte[] * @throws IOException */ public static String getRequestJsonString(HttpServletRequest request) throws IOException { String submitMehtod = request.getMethod(); // GET if (submitMehtod.equals("GET")) { return new String(request.getQueryString().getBytes("iso-8859-1"),"utf-8").replaceAll("%22", "\""); // POST } else { return getRequestPostStr(request); } } /** * 描述:获取 post 请求的 byte[] 数组 *
 
     * 举例: 
     * 
* @param request * @return * @throws IOException */
public static byte[] getRequestPostBytes(HttpServletRequest request) throws IOException { int contentLength = request.getContentLength(); if(contentLength<0){ return null; } byte buffer[] = new byte[contentLength]; for (int i = 0; i < contentLength;) { int readlen = request.getInputStream().read(buffer, i, contentLength - i); if (readlen == -1) { break; } i += readlen; } return buffer; } /** * 描述:获取 post 请求内容 *
 
     * 举例: 
     * 
* @param request * @return * @throws IOException */
public static String getRequestPostStr(HttpServletRequest request) throws IOException { byte buffer[] = getRequestPostBytes(request); String charEncoding = request.getCharacterEncoding(); if (charEncoding == null) { charEncoding = "UTF-8"; } return new String(buffer, charEncoding); } }

你可能感兴趣的:(java-笔记)