Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Spring Boot
- Servlet
- http
- 알고리즘
- springdatajpa
- 스프링
- AOP
- 백준
- Greedy
- spring
- transaction
- Thymeleaf
- 인프런
- java
- QueryDSL
- pointcut
- 자바
- 김영한
- Android
- Proxy
- 스프링 핵심 기능
- db
- JDBC
- 스프링 핵심 원리
- JPQL
- SpringBoot
- jpa
- Exception
- kotlin
- 그리디
Archives
- Today
- Total
개발자되기 프로젝트
HTTP 요청 데이터 - GET 쿼리 파라미터 본문
1.GET , 쿼리파라미터
- 전달 데이터
- username=hello
- age=20
- URL : http://localhost:8080/request-param?username=hello&age=20
- 서버에서는 HttpServletRequest 가 제공하는 메서드를 통해 쿼리 파라미터를 조회할 수 있음.0
2. 전체 파라미터 조회
- request.getParam(name)을 해야 parameter를 꺼낼 수 있음
/**
* 1. 파라미터 전송 기능
* http://localhost:8080/request-param?username=hello&age=20
*/
@WebServlet(name = "RequestParamServlet", urlPatterns = "/request-prarm")
public class RequestParamServlet extends HttpServlet {
@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("[전체 파라미터 조회] - start");
}
}
[전체 파라미터 조회] - start
username : hello
age : 20
[전체 파라미터 조회] - start
3. 단일 파라미터 조회
- request.getParam(name)을 해야 parameter를 꺼낼 수 있음
/**
* 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");
String username = request.getParameter("username");
String age = request.getParameter("age");
System.out.println("age = " + age);
System.out.println("username = " + username);
}
}
[단일 파라미터 조회] - start
age = 20
username = hello
[단일 파라미터 조회] - end
4. 이름이 같은 복수 파라미터 조회
- http://localhost:8080/request-param?username=hello&age=20&username=hahaha&username=zzzzzzz
- 위와 같이 같은 같은 이름으로 복수 파라미터를 넘기는 경우.
- request.gerParameterValues("")
/**
* 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");
String[] usernames = request.getParameterValues("username");
for (String name : usernames) {
System.out.println("name = " + name);
}
}
}
[이름이 같은 복수 파라미터 조회] - start
name = hello
name = hahaha
name = zzzzzzz
[이름이 같은 복수 파라미터 조회] - end
- 값이 중복이면 어떻게 될까?
- request.getParameter() 는 하나의 파라미터 이름에 대해서 단 하나의 값만 있을 때 사용
- 중복일 때는 request.getParameterValues() 를 사용
- 중복일 때 request.getParameter() 를 사용하면 request.getParameterValues() 의
- 첫 번째 값을 반환
5. GitHub : 210908 Get, QueryParam
'인프런 > [인프런] 스프링 MVC 1' 카테고리의 다른 글
HTTP 요청 데이터 - API 메시지 바디 - 단순 텍스트 (0) | 2021.09.08 |
---|---|
HTTP 요청 데이터 - POST HTML Form (0) | 2021.09.08 |
HTTP 요청 데이터 (0) | 2021.09.08 |
HttpServletRequest 사용법 (0) | 2021.09.07 |
Http Servlet Request (0) | 2021.09.07 |
Comments