HTTP Hypertext Transfer Protocol and Request Principle
This one to supplement
other features
for a generic way request parameters
get, post can
1.string getParameter (String name); obtaining the parameter value based on the parameter name
2.String getParameterValues (String name); Gets an array of arguments based on the parameter name
multi-purpose In the check box, when a parameter corresponds to multiple values,
the result set of the array type is obtained, and the result is displayed through the for loop.
3. Enumeration getParamterNames0; Get all the parameter names
Code display:
1, string getParameter(String name); Get the parameter value according to the parameter 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>
operation result:
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);
}
}
Operation result:
2. request.getParameterNames() gets all the key names for accessing the 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);
}
}
Operation result:
,3, Map<String,String>getParamterMap Get the map collection of all parameters
<!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>
operation result:
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);
}
}
operation result: