스크린샷 2025-09-02 오전 11.42.29.png

→ 톰캣이 action 속성을 보고 확장자가 없으니 서블릿으로 요청 확인

스크린샷 2025-09-02 오전 11.46.45.png

→ 헤더에 담기지않고 바디에 담겼기 때문에 url에서 확인할 수 없다.

package com.haenin.parameter;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.util.Enumeration;

@WebServlet("/payload")
public class PayloadServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        /* 설명. tomcat 9버전 이하는 post요청일 때는 인코딩 설정을 하지 않으면 parameter의 한글이 깨질 수 있음 */
        req.setCharacterEncoding("UTF-8");

        String name = req.getParameter("name");
        System.out.println("name = " + name);

        /* 설명. parameter들이 key값들을 한번에 순회하며 파악 ( 프론트적으로 확인 불가능할때 ) */
        Enumeration<String> keyNames = req.getParameterNames();
        while(keyNames.hasMoreElements()){
            System.out.println(keyNames.nextElement());
        }
    }
}

 <h3>POST 방식의 요청</h3>
    <h4>form 태그를 이용한 post 방식 요청</h4>
    <form action="payload" method="post">
        <%--    laber+input--%>
        <label for="name1">이름: </label>
        <input id="name1" type="text" name="name">
        <br>
        <label for="">나이: </label>
        <input type="text" name="age">
        <br>
        <label>생일: </label>
        <input type="date" name="birthday">
        <br>
        <label>성별: </label>
        <input type="radio" name="gender" id="male" value="M">
        <label for="male">남자</label>
        <input type="radio" name="gender" id="female" value="F">
        <label for="male">여자</label>
        <br>
        <label>국적: </label>
        <select name="national">
            <%-- option*4--%>
            <option value="ko">한국</option>
            <option value="ch">중국</option>
            <option value="jp">일본</option>
            <option value="etc">기타</option>
        </select>
        <br>
        <label>취미: </label>
        <input type="checkbox" name="hobbies" id="movie" value="movie">
        <label for="movie">영화보기</label>
        <input type="checkbox" name="hobbies" id="music" value="music">
        <label for="music">음악감상</label>
        <input type="checkbox" name="hobbies" id="sleep" value="sleep">
        <label for="sleep">잠자기</label>
        <br>
        <button>POST 요청</button>
    </form>