request.getParameter讲解
Posted 向阳-Y.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了request.getParameter讲解相关的知识,希望对你有一定的参考价值。
JavaWeb getParameter代码片段
总结一下:request解控中四个非常重要的方法
getParameterMap();
getParameterNames();
getParameterValues(“name”)
getParameter(“name”)
下面是四个方法的例子
package com.xy.test.servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class RequestTestServlet extends HttpServlet
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
//首先是getParameterMap
Map<String, String[]> parameterMap = request.getParameterMap();
Set<String> keys = parameterMap.keySet();
Iterator<String> it = keys.iterator();
while(it.hasNext())
String key=it.next();
//System.out.println(key);
String[] values = parameterMap.get(key);
System.out.println(key+"=");
for(String value:values)
System.out.println(value+",");
System.out.println();
//getParameterName直接获取所有key,不像上面那样遍历
Enumeration<String> parameterNames = request.getParameterNames();
while(parameterNames.hasMoreElements())
String name = parameterNames.nextElement();
System.out.println(name);
//getParameterValues直接通过name获取所有一维数组
String[] usernames = request.getParameterValues("username");//这里的username和password都是前端设置的name
String[] passwords = request.getParameterValues("password");
String[] intersets = request.getParameterValues("interest");
//遍历一维数组
for(String username:usernames)
System.out.println(username+",");
for(String password:passwords)
System.out.println(password+",");
for(String interset:intersets)
System.out.println(interset+",");
//通过name获取value这个一维数组的第一个元素
//这个方法使用最多,因为这个一维数组一般只有一个元素
String username = request.getParameter("username");
String password = request.getParameter("password");
//这里用getParameterValues是因为他不止一个元素
String[] interests = request.getParameterValues("interest");
//获取的都是一维数组当中的第一个元素
System.out.println(username);
System.out.print(password);
for(String interest:interests)
System.out.println(interest);
这两种方法最常用,运用了getParameter+getParameterValues
//通过name获取value这个一维数组的第一个元素
//这个方法使用最多,因为这个一维数组一般只有一个元素
//username、password、interest都是前端的name
String username = request.getParameter("username");
String password = request.getParameter("password");
//这里用getParameterValues是因为他不止一个元素
String[] interests = request.getParameterValues("interest");
//获取的都是一维数组当中的第一个元素
System.out.println(username);
System.out.print(password);
for(String interest:interests)
System.out.println(interest);
前端index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post" action="/request/request">
username<input type="text" name="username"><br>
password<input type="text" name="password"><br>
interest
抽烟<input type="checkbox" name="interest" value="smoke">
喝酒<input type="checkbox" name="interest" value="drink">
烫头<input type="checkbox" name="interest" value="tt"><br>
<input type="submit" value="注册">
</form>
</body>
</html>
以上是关于request.getParameter讲解的主要内容,如果未能解决你的问题,请参考以下文章
request.setAttribute()与getParameter() 的区别
request.getParameter() request.getInputStream()和request.getReader()三者的区别
request.getParameter()request.getInputStream()和request.getReader()