HTTP 요청 데이터 – GET 쿼리 파라미터

SHByun·2023년 1월 21일

강의 chap2-6


HTTP 요청 데이터 – GET 쿼리 파라미터

1. GET

  • URL에 ?를 시작으로 보내고 추가 파라미터는 &로 구분할 수 있다.
  • 서버에서는 HttpServletRequest가 제공하는 메서드를 통해 조회할 수 있다.

2. 전체 파라미터 조회

/**
 * 1. 파라미터 전송 기능
 * http://localhost:8080/request-param?username=hello&age=20
 */
@WebServlet(name = "requestParamServlet", urlPatterns = "/request-param")
public class RequestParamServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        System.out.println("[전체 파라미터 조회] - start");

        // paramName은 key(username, age)
        request.getParameterNames().asIterator()
                        .forEachRemaining(paramName -> System.out.println(paramName + "=" + request.getParameter(paramName)));

        System.out.println("[전체 파라미터 조회] - end");
    }
}

  • getParameterNames()로 전체를 꺼내오고 iterator를 통해 가져온다.

3. 단일 파라미터 조회

System.out.println("[단일 파라미터 조회] - start");

String username = request.getParameter("username");
String age = request.getParameter("age");

System.out.println("username = " + username);
System.out.println("age = " + age);

System.out.println("[단일 파라미터 조회] - end");
  • getParameter(key)를 통해 값을 가져온다.

4. 키 이름이 같은 파라미터 조회

System.out.println("[이름이 같은 복수 파라미터 조회] - start");
String[] usernames = request.getParameterValues("username");
for (String s : usernames) {
    System.out.println("username = " + s);
}

System.out.println("[이름이 같은 복수 파라미터 조회] - end");
  • getParameterValues를 통해 해당 키 값에 해당하는 값들을 가져온다.

출처

인프런 강의 - 김영한
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard

profile
안녕하세요

0개의 댓글