전달 데이터
- username = hello
- age = 20
메세지 바디없이 URL의 쿼리파라미터를 사용해서 전달
예) 검색, 필터, 페이징등에서 많이 사용하는 방식
쿼리파라미터는 URL에 다음과 같이 ?를 시작으로 보낼수 있다. 추가는 &를 사용한다.
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("[전체 파라미터 조회] - start");
request.getParameterNames().asIterator()
.forEachRemaining(paramName -> System.out.println(paramName+" = "+request.getParameter(paramName)));
System.out.println("[전체 파라미터 조회] - end");
System.out.println();
System.out.println("[단일 파라미터 조회]");
String username = request.getParameter("username");
String age = request.getParameter("age");
System.out.println("username = "+username+", age = "+age);
System.out.println();
System.out.println("[증복 파라미터 조회]");
String[] usernames = request.getParameterValues("username");
for (String user : usernames) {
System.out.println("username = "+user);
}
}
입력 값 : username=hello&age=20&username=kim
[결과]
더보기
[전체 파라미터 조회] - start
username = hello
age = 20
[전체 파라미터 조회] - end
[단일 파라미터 조회]
username = hello, age = 20
[증복 파라미터 조회]
username = hello
username = kim
같은 이름의 파라미터의 값이 들어오면 배열로 만들어 getParameterValues를 통해 가져왔는데 전체 파리미터 조회에서는 가장 먼저 조회된 값만 출력되는걸 볼 수 있다. (물론 이렇게 두개가 겹치는건 좋은 방법은 아닌듯 하다.)
'spring' 카테고리의 다른 글
API Message Body 데이터 요청 (0) | 2023.03.05 |
---|---|
POST HTML Form 데이터 요청 (1) | 2023.03.05 |
HTTP 요청 데이터 (0) | 2023.03.05 |
HttpServletRequest (0) | 2023.03.05 |
Servlet (0) | 2023.03.05 |