SSM框架中通过HttpServletRequest获得request请求中的body部分

采用下面两种办法均可获得:

/**

     * 字符串读取HttpServletRequest body
     * @param request
     * @return
     * @throws IOException

     */


    public static String charReader(HttpServletRequest request) throws IOException {
        BufferedReader br = request.getReader();
        String str, wholeStr = "";
        while ((str = br.readLine()) != null) {
            wholeStr += str;
        }
        return wholeStr;
    }

   

    /**
     * 二进制读取HttpServletRequest body
     * @param request
     * @return
     * @throws IOException

     */


    public static String binaryReader(HttpServletRequest request) throws IOException {
        int len = request.getContentLength();
        ServletInputStream iii = request.getInputStream();
        byte[] buffer = new byte[len];
        iii.read(buffer, 0, len);
        return new String(buffer);

    }


案例如下:

前台输入JSON格式的数据:我用的是RESTClient插件进行测试

SSM框架中通过HttpServletRequest获得request请求中的body部分

后台接受JSON格式的数据,从中的得到city这个键对应的值:(后来是SSM框架)

SSM框架中通过HttpServletRequest获得request请求中的body部分

  最后JSON数据中的结果为:

SSM框架中通过HttpServletRequest获得request请求中的body部分