HttpServlet:request請求參數常用的功能

  1. 根據參數名稱獲取參數值
String  getParameter("參數名");
  1. 根據參數值名稱獲取參數值的數組(用於複選框)
String[]  getParameterValues("參數名");
  1. 獲取所有請求的參數名稱(這種情況會造成複選框的值獲得不齊全,因爲這個方法返回值不是數組)
Enumeration<String>  getParameterNames();
  1. 獲取所有參數的map集合(彌補了上一個方法的缺點)
Map<String,String[]>  getParameterMap();

HttpServlet代碼

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("/Demo01")
public class Demo01 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //獲取post請求參數

        //根據參數名稱獲取參數值
        String username = request.getParameter("username");
        System.out.println("Post");
        System.out.println(username);

        //根據參數值名稱獲取參數值的數組(用於複選框)
        String[] hobbies = request.getParameterValues("hobby");
        for(String hobby : hobbies){//循環遍歷
            System.out.println(hobby);
        }

        //獲取所有請求的參數名稱(這種情況會造成複選框的值獲得不齊全,因爲這個方法返回值不是數組)
        Enumeration<String> parameterNames = request.getParameterNames();
       while (parameterNames.hasMoreElements()){
            String name = parameterNames.nextElement();//先獲取參數的名稱
            System.out.println(name);
            String value = request.getParameter(name);//然後從參數名稱中,獲取參數的值
            System.out.println(value);
            System.out.println("----------------");
        }

        //獲取所有參數的map集合(彌補了上一個方法的缺點)
        Map<String,String[]> parameterMap = request.getParameterMap();
       //遍歷
        Set<String> keyset = parameterMap.keySet();
        for(String name:keyset){

            //獲取鍵獲取值
            String[] values = parameterMap.get(name);
            System.out.println(name);
            for(String value:values){
                System.out.println(value);
            }
            System.out.println("----------------");
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        this.doPost(request,response);//用這行代碼,在doPost方法裏的代碼也能本方法內生效

        /*//獲取get請求參數

        
}

HTML代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="/Demo01" method="get">
        <input type="text" name="username" placeholder="請輸入用戶名"><br/>
        <input type="text" name="password" placeholder="請輸入密碼"><br/>
        <input type="checkbox" name="hobby" value="game">遊戲
        <input type="checkbox" name="hobby" value="study">學習<br/>
        <input type="submit" value="註冊">
    </form>
</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章