[WEB]Back-end/Spring MVC
GET URL 쿼리 파라미터, POST HTML Form 형식 비교
이운형
2022. 2. 7. 20:19
반응형
# 인프런 김영한의 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술을 개인적으로 정리한 글입니다.
정리
Q. 가장 큰 차이점이 뭐야?
GET URL 쿼리 파라미터 방식은
HTTP MESSAGE BODY를 사용하지 않기 때문에 CONTENT TYPE이 없다.
POST HTML Form 방식은
HTTP MESSAGE BODY를 사용하기 때문에 CONTENT TYPE을 꼭 정해줘야 한다.==application.x-www-from-urlencoded 방식
Q. 공통점은 뭐야?
HttpServlet의 기능을 같은 JAVA CODE로 사용할수 있다.
1. 전체 파라미터 조회 => getParameterNames().asIterator().forEachRemaining(paramName -> request.getParameter(paramName))) 으로 사용한다.
@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");
request.getParameterNames().asIterator()
.forEachRemaining(paramName -> System.out.println( paramName + "=" + request.getParameter(paramName)) );
System.out.println("[전체 파라미터 조회] - end");
System.out.println("[단일 파라미터 조회] - start");
2. 단일 파라미터 조회 => request.getParameter("")
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();
System.out.println("[단일 파라미터 조회] - end");
3. 이름이 같은 복수 파라미터 조회 => request.getParameterValues("")
System.out.println("[이름이 같은 복수 파라미터 조회]");
String[] usernames = request.getParameterValues("username");
for (String name : usernames) {
System.out.println("name = " + name);
}
반응형