1、get 和 post请求方式

(1)request.getParameterNames(); 获取所有参数key后。遍历request.getParameter(key)获取value

(2)request.getParameterMap() 。直接包含参数key和value值,简单方便

Map<String, String[]>maps =  request.getParameterMap();

for (Map.Entry<String, String[]> entry : maps.entrySet()) {
String cs = entry.getKey() + ":"+Arrays.toString(entry.getValue())+";";
}

2、获取请求类型为request  payload方式

这里就不介绍文件流的了,主要针对 后端采用@RequestBody方式的请求

这类数据通过以上2种方式是获取不到的,它是存放在流里面,要通过getInputStream()或getReader()方式获取

public String getRequestData(HttpServletRequest httpServletRequest){
HttpServletRequestWrapper httpServletRequestWrapper = new HttpServletRequestWrapper(httpServletRequest);
StringBuilder sb = new StringBuilder();
BufferedReader reader = null;
InputStreamReader inputStreamReader=null;
ServletInputStream servletInputStream =null;
try {
servletInputStream = httpServletRequestWrapper.getInputStream();
inputStreamReader=new InputStreamReader (servletInputStream, Charset.forName("UTF-8"));
reader = new BufferedReader(inputStreamReader);
String line = "";
while ((line = reader.readLine()) != null) {
sb.append(line);
}
} catch (IOException e) {
return "";
}finally {
try {
if(servletInputStream!=null){
servletInputStream.close();
}
if(inputStreamReader!=null){
inputStreamReader.close();
}
if(reader!=null){
reader.close();
}
} catch (IOException e) { }
}
return sb.toString ();
}

需要注意的是getInputStream()这种获取流的方式  只能用一次,如果多次调用  需要缓存起来,不然流的数据到不了Controller层,报400错误

java 获取request中的请求参数的更多相关文章

  1. java获取request中的参数、java解析URL问号后的参数

    java获取request中的参数.java解析URL问号后的参数.有时候我们需要从request中获取参数,或者获取拼接在Url后面的参数,有时候一个一个去拿有点麻烦,一起拿出来放在一个map里面需 ...

  2. 获取request中的查询参数

    //获取request中的查询参数 public static Map<String, Object> getRequestParamsByMap(HttpServletRequest r ...

  3. coding++:Java 获取request中的参数

    第一种: private Map<String,Object> mapParameters(HttpServletRequest request) { //封装查询条件参数 Map< ...

  4. SpringMVC中post请求参数注解@requestBody使用问题

    一.httpClient发送Post 原文https://www.cnblogs.com/Vdiao/p/5339487.html public static String httpPostWithJ ...

  5. 获取 request 中 json 数据

    import java.io.IOException; import javax.servlet.http.HttpServletRequest; /** * request 对象的相关操作 * @a ...

  6. js处理url中的请求参数(编码/解码)

    在处理 a 链接跳转其他页面时,总会遇到需要传递一些当前页面的信息到其他页面,然后其他页面利用这些信息进行相关操作.利用 get 请求或 hash 传递是常见的方式. 首先,需要对传递的参数进行编码, ...

  7. Java获取路径中的文件名(正则表达式)

    Java获取路径中的文件名(正则表达式) 目标 在这个路径中我想得到model2 /E:/2017-02-21--SoftWare/github/test/Java/poiDemo_word2exce ...

  8. java读取request中的xml

    java读取request中的xml   答: // 读取xml InputStream inputStream; StringBuffer sb = new StringBuffer(); inpu ...

  9. 获取url中查询字符串参数

    // 获取url中查询字符串参数 例如http://www.test.com?a=1&b=2 function RequestParamete() { var url = window.loc ...

随机推荐

  1. spring容器中的beanName

    1. 一个类实现多个接口 如下图中的JobService.java, 此时这个beanName=jobService,  没有包名,类名字首字母小写 可以使用下面三种方式获得这个bean IProce ...

  2. 如何在同一台机器上安装多个MySQL的实例 转

    https://www.cnblogs.com/shangzekai/p/4375271.html 最近由于工作的需要,需要在同一台机器上搭建两个MySQL的实例,(注:已经存在了一个3306的MyS ...

  3. Abp 修改默认的日期时间格式

    abp默认是不使用mvc的时间格式,所以直接在AddMvc修改DateFormatString是不会生效的.需要先启用mvc时间格式.Configuration.Modules.AbpAspNetCo ...

  4. remote error: You can't push to git 解决办法

  5. drupal优化全攻略

    下面是drupal优化的一些经验.分四大部分来讲. 第一部分:Drupal系统本身的设置来达到优化 第二部分:针对php代码进行的优化 第三部分:针对MYSQL数据库进行的优化 第四部分:针对网站架构 ...

  6. Maven的学习资料收集--(十)Myeclipse下创建Maven的Web项目

    先要在MyEclipse中对Maven进行设置: 到此Maven对MyEclipse的支持设置完毕.   下面我们在MyEclipse中创建一个Maven标准的Web工程: New --> We ...

  7. iOS开发之数据存取

    http://www.cocoachina.com/ios/20141111/10190.html

  8. mysql数据库的数据变更事件获取以及相关数据

    https://medium.com/@Masutangu/udf-trigger%E5%AE%9E%E6%97%B6%E7%9B%91%E6%8E%A7mysql%E6%95%B0%E6%8D%AE ...

  9. 金三银四面试季节之Java 核心面试技术点 - JVM 小结

    原文:https://github.com/linsheng9731/notebook/blob/master/java/JVM.md 描述一下 JVM 的内存区域 程序计数器(PC,Program ...

  10. js之BOM和DOM

      今天我们来学习js中的一些基础的操作. 一.BOM对象 BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相 ...