1. 程式人生 > 實用技巧 >Request 根據使用者輸入的資訊獲取輸入到控制檯

Request 根據使用者輸入的資訊獲取輸入到控制檯

html程式碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>註冊頁面</title>
</head>
<body>
<form action="/register" method="post">
    <input type="text" placeholder="使用者名稱" name="username">
    <input type="password" placeholder="密碼" name="password">
    <input type="checkbox" name="hobby" value="lq">籃球
    <input type="checkbox" name="hobby" value="zq">足球
    <input type="checkbox" name="hobby" value="ppq">乒乓球
    <input type="checkbox" name="hobby" value="ymq">羽毛球
    <input type="submit" value="註冊">
</form>
</body>
</html>

java程式碼

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.*;

/**
 * @author shkstart
 * @create 2021-01-12 22:19
 */
@WebServlet("/register")
public class RegisterServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
        doGet(req, resp);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        // 封裝了對應的獲取表單中的引數資訊的api方法
        // 如果請求中攜帶的有中文資訊 需要設定編碼字符集
        // 從tomcat8開始優化編碼字符集,針對get請求
        // 對於post請求需要手動指定
        req.setCharacterEncoding("UTF-8");
        // 獲取使用者名稱
        String username = req.getParameter("username");
        System.out.println(username);
        System.out.println("---------------------------------------------------");
        // 獲取所有的值封裝到map集合中
        Map<String, String[]> map = req.getParameterMap();
        Set<String> set = map.keySet();
        Iterator<String> iterator = set.iterator();
        // 遍歷set集合
        while (iterator.hasNext()) {
            String name = iterator.next();
            String[] values = map.get(name);
            System.out.println(name + "------" + Arrays.toString(values));
        }
        System.out.println("---------------------------------------------------");
        // commons-beanUtils
        Enumeration<String> names = req.getParameterNames();
        while (names.hasMoreElements()) {
            String name = names.nextElement();
            String[] values = req.getParameterValues(name);
            System.out.println(name + "------" + Arrays.toString(values));
        }
        System.out.println("---------------------------------------------------");
        String[] hobbies = req.getParameterValues("hobby");
        System.out.println("hobby------" + Arrays.toString(hobbies));
    }

}