从 request 中获取请求参数

来源:互联网 发布:域名的命名规则及申请 编辑:程序博客网 时间:2024/05/17 05:54

从 request 中获取请求参数有两种情况

1.从 get 方法中获取请求参数

get 方法的请求参数存放在 getQueryString() 方法中,不需要从 getInputStream() 中获取

2.从 post 方法中获取请求参数

post 方法的参数存放在 流当中需要从 getInputStream() 中获取。


package com.dada.test;import java.io.IOException;import javax.servlet.http.HttpServletRequest;   /**       * request 对象的相关操作 * @author zhangtengda         * @version 1.0       * @created 2015年5月2日 下午8:25:43      */       public class RequestUtils {   /**       * 描述:获取 request 中请求的内容 * <pre> * 举例: * </pre> * @param request * @return * @throws IOException       */public static String getRequestQueryString(HttpServletRequest request)throws IOException {String submitMehtod = request.getMethod();// GETif (submitMehtod.equals("GET")) {return new String(request.getQueryString().getBytes("iso-8859-1"),"utf-8");// POST} else {return getRequestPostStr(request);}}/*** * 获取 request 中 json 字符串的内容 *  * @param request * @return : <code>byte[]</code> * @throws IOException */public static String getRequestJsonString(HttpServletRequest request)throws IOException {String submitMehtod = request.getMethod();// GETif (submitMehtod.equals("GET")) {return new String(request.getQueryString().getBytes("iso-8859-1"),"utf-8").replaceAll("%22", "\"");// POST} else {return getRequestPostStr(request);}}   /**       * 描述:获取 post 请求的 byte[] 数组 * <pre> * 举例: * </pre> * @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 请求内容 * <pre> * 举例: * </pre> * @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);}}


0 0
原创粉丝点击