`
dragonhunter
  • 浏览: 33510 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java HttpServletRequest的getQueryString,getInputStream,getParameterMap的区别

    博客分类:
  • java
阅读更多

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

 

 

 

分享到:
评论

相关推荐

    java web 修改request携带的参数信息

    在`doFilter()`方法中,我们可以对`HttpServletRequest`的`getParameterMap()`方法返回的参数映射进行修改。这个映射包含了所有请求参数的键值对,其中键是参数名,值是一个字符串数组,因为同一个参数名可能对应多...

    java通过HttpServletRequest获取post请求中的body内容的方法

    java通过HttpServletRequest获取post请求中的body内容的方法 java web应用中,获取post请求body中的内容是一个常见的需求。通常,我们可以使用request对象的getParameter()方法来获取url参数或ajax提交的参数。但是...

    request.getParameterMap()返回的是String []数组1

    总之,理解并熟练掌握`request.getParameterMap()`、`request.getParameter()`和`request.getParameterValues()`的使用是进行Java Web开发的基础,它们是处理HTTP请求参数的核心工具,帮助我们从客户端获取并处理...

    java HttpServletRequest和HttpServletResponse详解

    Java中的HttpServletRequest和HttpServletResponse是Servlet API中的两个核心接口,它们分别代表了客户端向服务器发起的HTTP请求和服务器向客户端返回的HTTP响应。了解这两个接口对于任何进行Java Web开发的程序员来...

    HTTP请求头概述(HttpServletRequest)

    `HttpServletRequest`接口是Java Servlet API中的一个核心接口,它封装了来自客户端的所有请求信息。开发人员可以使用这个接口提供的方法来读取各种请求头,例如: - `getHeader(String name)`:获取指定请求头的值...

    作业getParameterMap()

    在Java Web开发中,`getParameterMap()`是一个非常关键的方法,尤其在Servlet编程中。这个方法是Servlet接口中的一个成员,用于获取HTTP请求中所有参数的映射。在深入讲解`getParameterMap()`之前,我们先简单回顾...

    httpservletrequest的jar包

    httpservletrequest、httpsession的jar包,导入资源包。

    从HttpServletRequest获取各种路径总结

    在Java Web开发中,通过`HttpServletRequest`对象可以获取客户端请求的各种信息,包括但不限于路径信息。这些路径信息对于开发者来说至关重要,尤其是在处理文件上传下载、资源定位等场景下。本文将详细介绍如何通过...

    ParameterRequestUtils.java

    继承HttpServletRequestWrapper实现类,重新相关方法,实现自定义增加请求参数,通常是由于需要对参数进行特殊业务处理,然而HttpServletRequest的request.getPrameterMap是不允许修改的(被锁,可查看底层源码),...

    Java如何实现URL带请求参数(get/post)及得到get和post请求url和参数列表的方法

    在Servlet中,`HttpServletRequest`对象提供了`getRequestURL()`方法返回不包括查询字符串的URL,而`getQueryString()`方法则返回查询字符串,即GET请求的参数列表。 ```java protected void doGet...

    Java service层获取HttpServletRequest工具类的方法

    它首先通过`RequestContextHolder.getRequestAttributes()`获取`ServletRequestAttributes`实例,然后调用`ServletRequestAttributes.getRequest()`来获取HttpServletRequest。这样,即使在Service层,我们也可以...

    HttpServletRequest 中 getRequestURL和getRequestURI的区别

    在Servlet编程中,`HttpServletRequest` 是Java服务器端用于处理HTTP请求的核心接口,它提供了许多方法来获取关于HTTP请求的信息。本文将深入探讨 `HttpServletRequest` 中的 `getRequestURL()` 和 `getRequestURI()...

    深入解析Java Web中的HttpServletRequest与HttpServletResponse

    在Java Web应用开发中,HttpServletRequest和HttpServletResponse是两个核心的接口,它们扮演着至关重要的角色。这两个接口是Java Servlet API的一部分,为开发人员提供了处理HTTP请求和构造HTTP响应的丰富功能。...

    httpservletRequest的学习笔记

    3. `getQueryString()`:返回请求行中的参数部分,即URL中问号“?”后面的内容。 4. `getProtocol()`:获取请求使用的HTTP协议及其版本,如HTTP/1.1。 5. `getContextPath()`:返回请求URL所属的Web应用程序路径,以...

    servlet 返回 URL

    Servlet API提供了多种方法来获取这些信息,例如`HttpServletRequest`接口中的`getRequestURL()`、`getQueryString()`等方法。 #### 二、获取URL参数 ##### 1. 获取表单内的参数 表单提交时,可以通过`request....

    java修改请求参数

    首先,`HttpServletRequest`对象是Java Servlet API提供用于获取请求信息的关键接口。通过这个接口,我们可以获取到请求参数,例如`getParameter()`和`getParameterMap()`方法。`getParameterMap()`返回一个`Map, ...

    HttpServletRequest对象常用功能_动力节点Java学院整理

    HttpServletRequest 对象常用功能 在 Java Web 开发中,HttpServletRequest 对象扮演着非常重要的角色,它提供了一些常用功能,能够帮助开发者更好地控制和处理 HTTP 请求。本文将详细介绍 HttpServletRequest 对象...

    tomcat10升级单个jar里面的jakarta.servlet.http.HttpServletRequest

    入参的HttpServletRequest必须为:import jakarta.servlet.http.HttpServletRequest; 运行cmd,再该目录下执行: 执行步骤:java -jar jakartaee-migration-1.0.1.jar commons-fileupload-1.4.jar commons-...

    JAVAWEB-09:HttpServletRequest对象&会话管理之Cookie

    服务器可以通过`HttpServletResponse.addCookie()`方法设置Cookie,而`HttpServletRequest.getCookies()`则用于读取Cookie。Cookie通常包含键值对,例如用户名或会话ID。每个Cookie都有一个名称、值、过期时间、路径...

    java web学习_浅谈request对象中get和post的差异

    Java Web 学习之 Request 对象中 GET 和 POST 的差异 摘要:本文将对 Java Web 中 Request 对象中 GET 和 POST 方法的差异进行分析和比较,通过代码示例和输出结果,展示 GET 和 POST 方法的不同之处,并分析其优...

Global site tag (gtag.js) - Google Analytics