HTTP 超文本传输协议和Request请求原理
对这一篇进行补充
其他功能
获取请求参数的通用方法
get,post 都可以
1.string getParameter(String name);根据参数名称获取参数值
2.String getParameterValues(String name);根据参数名称获取参数数组
多用于复选框,一个参数对应多个值的时候
得到数组类型的结果集,通过for 循环遍历显示结果
3.Enumeration getParamterNames0;获取所有的参数名称
代码展示:
1,string getParameter(String name);根据参数名称获取参数值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/test03" method="get">
<input type="text" placeholder="请输入用户名" name="username">
<input type="checkbox" value="ckk" name="hoby">ckk
<input type="checkbox" value="wll" name="hoby">wll
<input type="submit" value="提交">
</form>
</body>
</html>
运行结果:
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/test03")
public class test03_Servlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//通过getParamter(键名)来获取参数值 get和post通用
String username = request.getParameter("username");
String hoby = request.getParameter("hoby");
System.out.println(username);
System.out.println("爱好:"+hoby);
System.out.println("-----------通过键名获取所有的参数--------------");
String[] hobies = request.getParameterValues("hoby");
for (String hoby1 : hobies) {
System.out.println(hoby1);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
运行结果:
2,request.getParameterNames() 获取访问该servlet的所有的键名
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
@WebServlet("/test03")
public class test03_Servlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//request.getParameterNames() 获取访问该servlet的所有的键名
Enumeration<String> parameterNames = request.getParameterNames();
while (parameterNames.hasMoreElements()){
String name = parameterNames.nextElement();
String value = request.getParameter(name);
System.out.println(name+"----"+value);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
运行结果:
,3,Map<String,String>getParamterMap 获取所有的参数的 map集合
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/test03" method="get">
<input type="text" placeholder="请输入用户名" name="username">
<input type="text" placeholder="请输入密码" name="password">
<input type="text" placeholder="请输入身高" name="height">
<input type="checkbox" value="ckk" name="hoby">ckk
<input type="checkbox" value="wll" name="hoby">wll
<input type="submit" value="提交">
</form>
</body>
</html>
运行结果:
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;
import java.util.Map;
import java.util.Set;
@WebServlet("/test03")
public class test03_Servlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Map<String,String>getParamterMap 获取所有的参数的 map集合
Map<String, String[]> pm = request.getParameterMap();
Set<String> keySet = pm.keySet(); //获取所有键名
for (String key : keySet) {
//遍历keySet 得到所有的key
String[] values = pm.get(key); //获取所有值
for (String value : values) {
//遍历values 得到所有的value
System.out.println(key+"----"+value); //打印
}
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
运行结果: