首页 > 其他分享 >浅谈Map<String, String[]> p=req.getParameterMap();

浅谈Map<String, String[]> p=req.getParameterMap();

时间:2023-08-02 16:13:38浏览次数:40  
标签:Map 浅谈 req name 参数 getParameterMap 请求

这行代码用于获取当前 HTTP 请求中的所有参数,并将它们存储在一个 Map<String, String[]> 类型的对象中。

解释如下:

  1. req: 这是一个 HttpServletRequest 对象,表示当前的 HTTP 请求。通过它可以获取请求中的参数信息。

  2. getParameterMap(): 这是 HttpServletRequest 接口的方法,用于获取当前请求的所有参数。它返回一个 Map<String, String[]> 类型的对象,其中键是参数的名称,值是参数的值数组。

  3. Map<String, String[]> p = req.getParameterMap();: 这行代码将当前请求中的所有参数存储在名为 pMap 变量中。

通过这段代码,可以获取当前 HTTP 请求的所有参数,并进一步使用 p 变量来访问或操作这些参数。例如,可以通过 p.get(parameterName) 方法来获取某个参数的值数组,其中 parameterName 是参数的名称。如果一个参数有多个值(例如多选框),那么对应的值数组将包含多个元素。

当客户端发送一个 HTTP 请求时,可能会包含一些参数。例如,假设客户端发送了以下 HTTP 请求:

GET /example?name=John&age=30&city=NewYork

在这个请求中,URL 中包含了三个参数:nameagecity。接收到这个请求后,可以使用 req.getParameterMap() 方法获取所有参数,并将其存储在一个 Map<String, String[]> 对象中。

示例代码如下:

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

public class ExampleServlet extends HttpServlet {

    protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
        // 获取所有参数并存储在Map中
        Map<String, String[]> paramMap = req.getParameterMap();

        // 遍历Map并打印参数名称和值
        for (String paramName : paramMap.keySet()) {
            String[] paramValues = paramMap.get(paramName);
            for (String paramValue : paramValues) {
                System.out.println("Parameter name: " + paramName + ", Value: " + paramValue);
            }
        }
    }
}

在上面的示例中,paramMap 将包含以下内容:

Key: "name", Value: ["John"]
Key: "age", Value: ["30"]
Key: "city", Value: ["NewYork"]

这是因为每个参数名都是一个字符串(String),而对应的参数值可能有多个,因此用一个字符串数组(String[])来表示参数值。在上述示例中,每个参数名都只对应一个参数值,因此每个值数组只包含一个元素。如果一个参数有多个值,例如客户端发送了多个 name 参数(多选框的情况),那么该参数对应的值数组将包含多个元素。

标签:Map,浅谈,req,name,参数,getParameterMap,请求
From: https://www.cnblogs.com/zhangluabc/p/17600931.html

相关文章

  • 浅谈splice( )与slice( )
    1、splice()概念:splice()用于修改原始数组,它可以删除、插入、替换数组的元素,并返回被删除的元素组成的新数组。语法:splice(start,deleteCount,item1,item2,itemN)start:开始位置,规定添加/删除的起始位置。从0开始计算的索引,表示要开始改变数组的位置deleteCount:移除的数量。要......
  • MappingJackson2HttpMessageConverter数据处理
    主键用的雪花算法,值域超过了js的范围……后端返回的日期字段总不是我想要的格式……空值的字段就不要返回了,省点流量吧……试试换成自己的MappingJackson2HttpMessageConverter呗Talkischeap,showyouthecode!importcom.fasterxml.jackson.annotation.JsonInclude;importco......
  • 浅谈MRO工业品加盟行业趋势
    电商经济的快速发展,线上购物和线上支付已成为人们日常购物不可或缺的生活方式。这对于MRO产品(五金工具、劳保用品、刀具器材、紧固件、焊接耗材、切屑刀具、精加工刀具等),也是一样的。越来越多的企业采购者增加线上采购渠道的投入,而能否留住用户,产品质量把控和产品价格优势是线上平......
  • 站在营销的角度浅谈直播行业
    直播开发这个行业,在成就了一批网红、暴发户的同时,也给平台和商家带来了丰厚的利益,从直播程序定位搭建方案到最后的测试上架,每一步都要条理清晰,营销是一门学问,今天就来浅谈一下直播行业的营销机制。1.平台选择:营销机制首先就是选择合适的平台。由于用户群体和特点不同,因此根据目标群......
  • 浅谈-BeanWrapper bw = PropertyAccessorFactory.forBeanPropertyAccess(Object targe
    BeanWrapper是SpringFramework中的一个接口,它提供了一种方便的方式来访问Java对象的属性,并允许对属性进行读取和设置操作。PropertyAccessorFactory.forBeanPropertyAccess(this)是一个工厂方法,用于创建一个BeanWrapper对象,以便访问指定的Java对象的属性。举个例子来......
  • requests--post中json中文编码问题
    问题requestspost提交json数据时,默认在库中ensure_ascii为True。会对中文进行unicode编码。但是有的时候服务端并没有处理中文,没有进行解码,而我们又改不了服务端,就会出现问题!解决修改库的代码,添加上对应的ensure_ascii参数。不推荐,换个环境就用不了了。推荐:自己......
  • 浅谈-HttpMessageConverter接口
    HttpMessageConverter接口是SpringFramework中的一个接口,用于处理HTTP请求和响应体的消息转换。解释如下:在SpringWeb应用中,控制器(Controller)处理HTTP请求时,通常会返回响应结果给客户端。这些响应结果可以是Java对象、字符串、JSON数据、XML数据等。HttpMess......
  • 周二 Request&Response
    从苏州回河北,8.3上午到,标题进度不变在火车上没法学的会回家后补回来packagecom.itheima.util;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importjava.io.......
  • freemeker 遍历map嵌套list数据结构
    遍历嵌套数据结构渲染map中value是list的内容<#ifnodes??&&(nodes?size>0)>【节点明细】<#listnodes?keysasalarmLevel>${alarmLevel+":"}<#if(nodes[alarmLevel])??><#list(nodes[alarmLevel])asnode>${node.nodeNo}<#sep>,&......
  • TDengine连接数满了报错:Connection is not available, request timed out after 3000
    背景使用tdengine时遇到一个情况,应用程序使用连接池将接收到的实时数据插入TD时,会出现获取不到连接的报错.重现起一个模拟程序,发送100条数据到应用程序,应用程序从批量插入改为逐条插入td,重现出报错:org.springframework.jdbc.support.MetaDataAccessException:Could......