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 |
相关推荐
在Servlet中,`HttpServletRequest`对象提供了`getRequestURL()`方法返回不包括查询字符串的URL,而`getQueryString()`方法则返回查询字符串,即GET请求的参数列表。 ```java protected void doGet...
24. **getQueryString()**:返回GET方法传递的参数字符串。 25. **getPathInfo()**:取出请求中处于ServletPath和QueryString之间的额外信息。 26. **getPathTranslated()**:返回用getPathInfo()方法取得的路径信息...
Overrides the standard java.lang.Object.clone method to return a copy of this cookie. containsHeader(String) - Method in class javax.servlet.http.HttpServletResponseWrapper The default behavior of ...
- **`String getQueryString()`**:获取查询字符串。 - **`String getPathInfo()`**:获取路径信息,即URL中Servlet路径和查询字符串之间的部分。 - **`String getPathTranslated()`**:获取路径信息的实际文件系统...
25. **`String getQueryString()`** 返回查询字符串,即URL中的`?`后面的部分。 26. **`String getPathInfo()`** 返回请求路径中Servlet路径后面的任何额外路径信息。 27. **`String getPathTranslated()`** ...