获取request请求所有参数的使用方法详解

      对于Java后端开发而言,如何去获取前端提交的request请求有哪些参数,也是相当重要,下面我根据网上搜索的资料整理出两个方法,以便自己在之后的开发中继续使用。

(一)通过request.getParameterNames();
      getParameterNames()的含义:返回一个包含请求消息中的所有参数名Enumeration对象。此时我们可以通过遍历这个Enumeration对象,就可以获取请求消息中所有的参数名。

下面是具体实现代码:

Enumeration e=request.getParameterNames();//获取所有参数名  
while(e.hasMoreElements()){//通过Enumeration类中的hasMoreElements()判断是否还有参数名  
	String parameterName=(String)e.nextElement(); //获取当前参数名 
	//再通过request.getParameter("")的方法来获取对应参数名的值
	System.out.println(parameterName+": "+request.getParameter(parameterName));
}  

(二)通过request.getParameterMap();
      这个方法是我看到一个request的获取方法中说到它可以获取所有参数的名称和值,于是就尝试去实现一下。
      getParameterMap()含义: 返回一个保存了请求消息中的所有参数名和值Map对象。Map对象的key是字符串类型的参数名,value是这个参数所对应的Object类型的值数组

/*
* 此处可能会提示黄色警告,只需要在代码的方法头加上@SuppressWarnings("rawtypes")注解就行,或者根据警告提示来修改
* 获取request请求参数的map值
**/
Map map = (Map)request.getParameterMap();
/*
* @description: entrySet()该方法返回值就是这个map中各个键值对映射关系的集合。
*通过iterator()方法对该map集合进行遍历
*/
Iterator iter = map.entrySet().iterator();
//对map集合进行遍历
while(iter.hasNext()) {
	Map.Entry element = (Map.Entry)iter.next();
	Object strKey = element.getKey();//关键词为字符串类型
	String [] val = (String[])element.getValue();//关键词的值为数组类型,故需要强制转化。
	System.out.print(strKey.toString() +":");
	for(int i=0;i<val.length;i++){
           System.out.print(val[i]+",");
    }
    System.out.println();
}

      这个方法稍微有一些复杂,涉及到对map值进行解析的。因此笔者在这里也推荐各位读者使用第一种方法,毕竟代码量从一定程度上就减少很多。当然,有时如果是需要处理map值的,也可以参照笔者上面的方法对map值进行遍历。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
request对象是JSP中的内置对象之一,代表了客户端发出的HTTP请求。它提供了一系列的方法,用于获取请求的信息。下面是request对象的所有方法详解: 1. void setAttribute(String name, Object obj):将一个对象绑定到request对象上,并使用指定的名称作为键名。 2. Object getAttribute(String name):根据指定的键名,从request对象上获取绑定的对象。如果没有找到,则返回null。 3. Enumeration<String> getAttributeNames():获取所有绑定到request对象上的对象的名称。 4. String getCharacterEncoding():获取请求中的字符编码方式。 5. void setCharacterEncoding(String env):设置请求中的字符编码方式。 6. int getContentLength():获取请求中的数据长度。 7. String getContentType():获取请求中的数据类型。 8. ServletInputStream getInputStream():获取请求中的输入流。 9. String getParameter(String name):获取请求中指定参数的值。 10. Enumeration<String> getParameterNames():获取请求中所有参数的名称。 11. String[] getParameterValues(String name):获取请求中指定参数的所有值。 12. Map<String, String[]> getParameterMap():获取请求中所有参数的Map集合。 13. String getProtocol():获取请求的协议名称和版本号。 14. String getScheme():获取请求的协议名称。 15. String getServerName():获取请求的服务器名称。 16. int getServerPort():获取请求的服务器端口号。 17. BufferedReader getReader():获取请求中的字符输入流。 18. String getRemoteAddr():获取请求的远程IP地址。 19. String getRemoteHost():获取请求的远程主机名。 20. void setAttribute(String name, Object obj, int scope):将一个对象绑定到指定作用域上。 21. Object getAttribute(String name, int scope):根据指定的键名和作用域,从request对象上获取绑定的对象。 22. void removeAttribute(String name):从request对象上移除指定名称的绑定对象。 23. void removeAttribute(String name, int scope):从指定作用域上移除指定名称的绑定对象。 总之,request对象提供了丰富的方法,可以获取请求中的各种信息,为开发者提供了非常方便的手段。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值