HttpServletRequest可以通过getQueryString和getInputStream和getParameterMap来获取参数。
三者有什么区别了:
我们通过一个简单的demo来看下:
public static final String method = "POST";
public static void main(String[] args) {
try {
BufferedReader reader = null;
OutputStream out = null;
String url = "http://woqufadai.com/hdd/channel/payment-return/YEEPAY?k=v";
String params = "key=value";
URL pageUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) pageUrl.openConnection();
conn.setRequestProperty("Content-type", "text/html;charset=utf-8");
//conn.addRequestProperty("Content-type", "text/html;charset=utf-8");
ByteArrayOutputStream bout = null;
bout = new ByteArrayOutputStream();
bout.write(params.getBytes());
byte[] b = bout.toByteArray();
conn.setRequestMethod(method);
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0 abc");
conn.setDoInput(true);
conn.setDoOutput(true);
out = conn.getOutputStream();
out.write(b);
out.flush();
// Open connection to URL for reading.
reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
// Read page into buffer.
String line;
StringBuffer pageBuffer = new StringBuffer();
while ((line = reader.readLine()) != null) {
pageBuffer.append(line);
}
System.out.println(pageBuffer.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
在服务端调试结果如下:
requestMothed | Content-type | request方法 | 是否可以获取参数 |
get | getQueryString | true | |
get | getInputStream | false | |
get | getParameterMap | true | |
post | application/x-www-form-urlencoded | getQueryString | false |
post | application/x-www-form-urlencoded | getInputStream | true |
post | application/x-www-form-urlencoded | getParameterMap | true |
post | text/html | getQueryString | false |
post | text/html | getInputStream | false |
post | text/html | getParameterMap | true |
相关推荐
在`doFilter()`方法中,我们可以对`HttpServletRequest`的`getParameterMap()`方法返回的参数映射进行修改。这个映射包含了所有请求参数的键值对,其中键是参数名,值是一个字符串数组,因为同一个参数名可能对应多...
java通过HttpServletRequest获取post请求中的body内容的方法 java web应用中,获取post请求body中的内容是一个常见的需求。通常,我们可以使用request对象的getParameter()方法来获取url参数或ajax提交的参数。但是...
Java中的HttpServletRequest和HttpServletResponse是Servlet API中的两个核心接口,它们分别代表了客户端向服务器发起的HTTP请求和服务器向客户端返回的HTTP响应。了解这两个接口对于任何进行Java Web开发的程序员来...
`HttpServletRequest`接口是Java Servlet API中的一个核心接口,它封装了来自客户端的所有请求信息。开发人员可以使用这个接口提供的方法来读取各种请求头,例如: - `getHeader(String name)`:获取指定请求头的值...
在Java Web开发中,`getParameterMap()`是一个非常关键的方法,尤其在Servlet编程中。这个方法是Servlet接口中的一个成员,用于获取HTTP请求中所有参数的映射。在深入讲解`getParameterMap()`之前,我们先简单回顾...
httpservletrequest、httpsession的jar包,导入资源包。
在Java Web开发中,通过`HttpServletRequest`对象可以获取客户端请求的各种信息,包括但不限于路径信息。这些路径信息对于开发者来说至关重要,尤其是在处理文件上传下载、资源定位等场景下。本文将详细介绍如何通过...
继承HttpServletRequestWrapper实现类,重新相关方法,实现自定义增加请求参数,通常是由于需要对参数进行特殊业务处理,然而HttpServletRequest的request.getPrameterMap是不允许修改的(被锁,可查看底层源码),...
在Servlet中,`HttpServletRequest`对象提供了`getRequestURL()`方法返回不包括查询字符串的URL,而`getQueryString()`方法则返回查询字符串,即GET请求的参数列表。 ```java protected void doGet...
它首先通过`RequestContextHolder.getRequestAttributes()`获取`ServletRequestAttributes`实例,然后调用`ServletRequestAttributes.getRequest()`来获取HttpServletRequest。这样,即使在Service层,我们也可以...
在Servlet编程中,`HttpServletRequest` 是Java服务器端用于处理HTTP请求的核心接口,它提供了许多方法来获取关于HTTP请求的信息。本文将深入探讨 `HttpServletRequest` 中的 `getRequestURL()` 和 `getRequestURI()...
在Java Web应用开发中,HttpServletRequest和HttpServletResponse是两个核心的接口,它们扮演着至关重要的角色。这两个接口是Java Servlet API的一部分,为开发人员提供了处理HTTP请求和构造HTTP响应的丰富功能。...
3. `getQueryString()`:返回请求行中的参数部分,即URL中问号“?”后面的内容。 4. `getProtocol()`:获取请求使用的HTTP协议及其版本,如HTTP/1.1。 5. `getContextPath()`:返回请求URL所属的Web应用程序路径,以...
Servlet API提供了多种方法来获取这些信息,例如`HttpServletRequest`接口中的`getRequestURL()`、`getQueryString()`等方法。 #### 二、获取URL参数 ##### 1. 获取表单内的参数 表单提交时,可以通过`request....
首先,`HttpServletRequest`对象是Java Servlet API提供用于获取请求信息的关键接口。通过这个接口,我们可以获取到请求参数,例如`getParameter()`和`getParameterMap()`方法。`getParameterMap()`返回一个`Map, ...
HttpServletRequest 对象常用功能 在 Java Web 开发中,HttpServletRequest 对象扮演着非常重要的角色,它提供了一些常用功能,能够帮助开发者更好地控制和处理 HTTP 请求。本文将详细介绍 HttpServletRequest 对象...
入参的HttpServletRequest必须为:import jakarta.servlet.http.HttpServletRequest; 运行cmd,再该目录下执行: 执行步骤:java -jar jakartaee-migration-1.0.1.jar commons-fileupload-1.4.jar commons-...
服务器可以通过`HttpServletResponse.addCookie()`方法设置Cookie,而`HttpServletRequest.getCookies()`则用于读取Cookie。Cookie通常包含键值对,例如用户名或会话ID。每个Cookie都有一个名称、值、过期时间、路径...
Java Web 学习之 Request 对象中 GET 和 POST 的差异 摘要:本文将对 Java Web 中 Request 对象中 GET 和 POST 方法的差异进行分析和比较,通过代码示例和输出结果,展示 GET 和 POST 方法的不同之处,并分析其优...
### Java解决GET请求中文乱码问题详解 在Java Web开发中,经常遇到的一个问题是处理GET请求中的中文参数时出现乱码。这个问题主要是因为浏览器发送GET请求时,参数默认使用ISO-8859-1编码格式,而服务器端通常采用...