gpt4 book ai didi

java - 有没有办法从 JSP/Servlet 按原始顺序获取 POST 参数?

转载 作者:搜寻专家 更新时间:2023-11-01 03:21:34 25 4
gpt4 key购买 nike

<form method="post" action="?">
<input type="text" name="d" value="3">
<input type="text" name="e" value="5">
<input type="text" name="c" value="1">
<input type="text" name="a" value="4">
<input type="text" name="b" value="2">
<input type="submit">
</form>

通过以下方式处理 POST 请求:

Enumeration e = request.getParameterNames();
while(e.hasMoreElements()){
out.println(e.nextElement());
}

这是一个枚举,它以未指定的顺序包含参数名称

有没有办法从 POST 请求中获取原始文本源?

我想像这样按原始顺序获取参数(如 Chrome 开发者工具所示):

d=3&e=5&c=1&a=4&b=2

顺便说一句:我试过 request.getQueryString() 只是从 URL(GET 方法)返回查询,无法从 POST 方法获取任何参数。

最佳答案

ServletRequest.getInputStream() 返回原始输入流,但您需要使用正确的字符编码来构建帖子正文。例如,

r = new BufferedReader(new InputStreamReader(request.getInputStream(), "utf8"));
StringBuilder sb = new StringBuilder();
String line;
while ( (line = r.readLine()) != null) sb.append(line);
System.out.println(sb.toString());

关于java - 有没有办法从 JSP/Servlet 按原始顺序获取 POST 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29363404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com