HTTP 超文本传输协议和Request请求原理--2

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);
    }
}

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/tan1024/article/details/111487861
今日推荐