Spring MVC/Servlet/Server/HTTP/GET/POST
• Servlet
톰캣 같은 웹 애플리케이션 서버를 직접 설치하고,그 위에 서블릿 코드를 클래스 파일로 빌드해서 올린 다음, 톰캣 서버를 실행하면 된다. 하지만 이 과정은 매우 번거롭다. 스프링 부트는 톰캣 서버를 내장하고 있으므로, 톰캣 서버 설치 없이 편리하게 서블릿 코드를 실행할 수 있다. 서블릿은 Java를 이용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램이다. 웹 브라우저에서 요청을 받으면 서블릿 내부의 코드(기능)를 수행한다. 서블릿마다 역할을 지정해놓고 사용함.
• Servlet Container
스프링 부트가 내장 톰캣 서버를 생성하고 이 서버가 Servlet을 생성한다. 서블릿 컨테이너는 구현되어 있는 Servlet 클래스의 규칙에 맞게 서블릿 객체를 생성, 초기화, 호출 종료하는 생명 주기를 관리한다. 톰캣처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 할 수 있다.
• 웹 애플리케이션 서버의 요청 응답 구조
HTTP 요청 메세지를 기반으로 웹 애플리케이션 서버에 request가 생성이 된다. 이후에 response 객체를 생성한 뒤 HTTP 응답을 생성함
• HttpServletRequest의 역할
HTTP메세지를 일일이 파싱해서 써도 되긴 하나, 이걸 하나하나 다 하려고 한다면 엄청난 시간과 노동이 필요할 것이다. 그렇기 때문에 만들어진 게 HttpServletRequest이다. 아주 편리하게 HTTP 요청 메세지를 다룰 수 있다 .
• HttpServletResponse의 역할
response객체도 스프링이 만들어준다. 응답해주기 위해 값을 넣어서 전달해주자.
• GET/POST
HTTP 카테고리에서 좀 더 자세하게 다룰 예정이다. HTTP 요청메세지 중에서도 가장 많이 쓰이는 GET/POST이다.
1. GET은 일반적으로 어떤 것을 조회하거나 정보들을 가져오고 싶을 때 쿼리 파라미터를 이용해서 가져온다.
ex) http://localhost:8080/request-param?username=hello&age=20
2. POST는 양식에 맞게 폼을 작성하여 정보를 전달하고자 할 때 자주 쓰인다. 예를 들면 회원 가입, 상품 주문 등이 있다.
ex)http://localhost:8080/basic/hello-form.html 사이트에서 제출 형식의 버튼을 눌렀을 때 요청 메세지 전송
*POST/PUT/PATCH 방식에서는 메시지 바디에 데이터를 담아서 요청할 수 있으며 보통은 json파일을 사용함
'Java & Spring > Spring MVC' 카테고리의 다른 글
Spring MVC/request.setAttribute()/response.setAttribute() (0) | 2022.06.11 |
---|---|
Spring MVC/Dispatcher/Forward/Redirect (0) | 2022.06.09 |
Spring MVC/Controller/V1/V2/V3/V4/V5 (0) | 2022.06.08 |
Spring MVC/Front Controller (0) | 2022.06.08 |
Spring MVC/Model/View/Controller (0) | 2022.06.08 |