java 获取request中的请求参数
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中的请求参数的更多相关文章
- java获取request中的参数、java解析URL问号后的参数
java获取request中的参数.java解析URL问号后的参数.有时候我们需要从request中获取参数,或者获取拼接在Url后面的参数,有时候一个一个去拿有点麻烦,一起拿出来放在一个map里面需 ...
- 获取request中的查询参数
//获取request中的查询参数 public static Map<String, Object> getRequestParamsByMap(HttpServletRequest r ...
- coding++:Java 获取request中的参数
第一种: private Map<String,Object> mapParameters(HttpServletRequest request) { //封装查询条件参数 Map< ...
- SpringMVC中post请求参数注解@requestBody使用问题
一.httpClient发送Post 原文https://www.cnblogs.com/Vdiao/p/5339487.html public static String httpPostWithJ ...
- 获取 request 中 json 数据
import java.io.IOException; import javax.servlet.http.HttpServletRequest; /** * request 对象的相关操作 * @a ...
- js处理url中的请求参数(编码/解码)
在处理 a 链接跳转其他页面时,总会遇到需要传递一些当前页面的信息到其他页面,然后其他页面利用这些信息进行相关操作.利用 get 请求或 hash 传递是常见的方式. 首先,需要对传递的参数进行编码, ...
- Java获取路径中的文件名(正则表达式)
Java获取路径中的文件名(正则表达式) 目标 在这个路径中我想得到model2 /E:/2017-02-21--SoftWare/github/test/Java/poiDemo_word2exce ...
- java读取request中的xml
java读取request中的xml 答: // 读取xml InputStream inputStream; StringBuffer sb = new StringBuffer(); inpu ...
- 获取url中查询字符串参数
// 获取url中查询字符串参数 例如http://www.test.com?a=1&b=2 function RequestParamete() { var url = window.loc ...
随机推荐
- unique key 唯一约束
#添加唯一约束mysql> alter table tb2 -> add unique key(name) ->;#删除唯一约束mysql> alter table ...
- OpenCV3的配置(VS2015)
1:首先下载和解压到给定的目录 2:设置环境变量...\build\x64\vc14\bin 3:打开VS,新建一个项目,再添加一个代码,刚开始当然是报错的 #include<opencv2\o ...
- flush logs时做的操作
flush logs时做的操作: 对于一般查询日志和慢日志,先关闭文件再打开 对于binlog,关闭当前的,开始用下一个新的 用错误日志文件的话,先关闭再打开flush logs可以对一般查询日 ...
- CMD当前代码页修改
python3.x在程序开发中统一的编码是 UTF-8,但是进行交互式编程的时候会经常遇到乱码问题,这是因为Window cmd的默认编码是GBK.与程序采用的 UTF-8 不一致造成的中文及特殊字符 ...
- 非局部均值去噪(NL-means)
非局部均值(NL-means)是近年来提出的一项新型的去噪技术.该方法充分利用了图像中的冗余信息,在去噪的同时能最大程度地保持图像的细节特征.基本思想是:当前像素的估计值由图像中与它具有相似邻域结构的 ...
- 010 Regular Expression Matching 正则表达式匹配
Implement regular expression matching with support for '.' and '*'.'.' Matches any single character. ...
- ubuntu搭建mediawiki
1.搭建lamp环境,lamp指的是: Linux+Apache+Mysql/MariaDB+Perl/PHP/Python (我们安装的是Linux+apache2+postgresql+php) ...
- js事件循环(event loop)
我们都知道,js是单线程的,虽然现在有 worker 的存在,但是也只是可以进行运算,并不能操作 dom: js最一开始执行的线程,是主线程,然后主线程执行完毕后,是微队列 microtask 的循环 ...
- 关于Linux Mint下的pluma软件打开txt文本文件有时候乱码的解决办法
解决方法: 1.在终端输入“dconf-editor”回车(见图2).(如果没有安装用“sudo apt-get install dconf-tools”安装.) 图2 2.展开org/gnome/g ...
- linux 解决 gvfsd-smb-browse CPU 100%占用
原文地址:https://bugzilla.redhat.com/show_bug.cgi?id=1303300 1: sudo vim /etc/samba/smb.conf 2:定位到[globa ...