스프링 MVC 1 - 정리(서블릿)
반응형
- 프로젝트 생성
- 가장먼저, 프로젝트를 생성했었다.
- Hello 서블릿
- 그리고 Hello 서블릿을 가지고 서블릿을 만들어 보았었다.
- HttpServletRequest - 개요
- HttpServletRequest - 기본 사용법
- 그다음, HttpServletRequest의 개요와 기본 사용법을 알아보았고,
- 여기서 가장 중요한 것은 Http ServletRequest는 HTTP 요청 메시지의 스펙을 편리하게 사용할 수 있도록(조회할 수 있도록) 해주는 것이라는 것이다. 그리고 편리한 기본 기능들도 제공을 해줬다.
- StartLine정보
- Headers정보
- HeaderUtils로 헤더 정보를 편리하게 제공해준다.
- HTTP 요청 데이터 - 개요
- 그리고 HTTP 요청 데이터에서는 클라이언트에서 서버로 헤더정보같은 부가적인 정보 말고, 진짜 내가 원하는 데이터 ex)검색 조건, 회원데이터 등등을 보낼 때
즉, 클라이언트에서 서버로 메시지를 보낼 때는 주로 3가지 방법을 사용한다고 했다.
- 그리고 HTTP 요청 데이터에서는 클라이언트에서 서버로 헤더정보같은 부가적인 정보 말고, 진짜 내가 원하는 데이터 ex)검색 조건, 회원데이터 등등을 보낼 때
- HTTP 요청 데이터 - GET 쿼리 파라미터
- 첫번째는, HTTP GET방식으로 URL에 쿼리 파라미터로 보내는 것.
이때는 메시지 바디에 데이터를 보내지 않는다. URL에 쿼리파라미터로 보낸다.
(보통 검색, 필터, 페이징 등에서 많이 사용한다)
- 첫번째는, HTTP GET방식으로 URL에 쿼리 파라미터로 보내는 것.
- HTTP 요청 데이터 - POST HTML Form
- 두번째는, HTML Form 인데, 회원 가입, 상품주문 등을 할 때 주로 사용된다.
참고로 HTML Form 데이터를 보낼 때는 PUT이나 PATCH로 보낼 수 없다.
HTML Spec상 HTML Form 데이터를 Body로 전송할 때는 POST방식만 허용된다.
(스프링은 POST가 아니더라도 되던데요? 라고 할 수 있는데, 실제로 스프링 뒷단에서는 POST로 전송한다.)
이것은, HTML기능이 재공하는 HTML Form에서 Form Submit을 하게 되면,
웹브라우저가 HTTP 메시지를 만든다.
그러면 HTTP messageBody에 데이터가 넘어간다.
HTTP Spec은 HTTP메시지가 어떤 형태인지 꼭 알려줘야한다. 그것을 Content-Type으로 알려준다.
content-type: application/x-www-form-urlencoded
그런데, GET 쿼리 파라미터 방식과, HTML Form 방식은 모양이 똑같다. 그래서 서버에서 읽을 때는, request.getPrameter라는 것으로 두가지 방식을 읽을 수 있다. ("보통 이것을 요청파라미터를 읽는다"라고 한다)
- 두번째는, HTML Form 인데, 회원 가입, 상품주문 등을 할 때 주로 사용된다.
- 3번째 방법은 HTTP messageBody에 내가 원하는 데이터를 직접 집어넣는 것이다.
- 그래서 클라이언트에서 서버로 전송하는데,
단순히 텍스트를 전송할 수도 있고, JSON을 전송할 수도 있고, Binary데이터는 다 전송할 수 있다.(모든 데이터)
응답에서도 마찬가지로 쓰인다.
- 그래서 클라이언트에서 서버로 전송하는데,
- HTTP 요청 데이터 - API 메시지 바디 - 단순 텍스트
- HTTP 요청 데이터 - API 메시지 바디 - JSON
- 3번째 방법은 주로 HTTP API 에서 많이 사용되는데, JSON 형태로 데이터를 전달한다.
- POST, PUT, PATCH
- HttpServletResponse - 기본 사용법
- 응답은, 단순히 텍스트로 응답할 수도 있고, HTML을 응답할 수도 있고, API JSON으로 응답할 수도 있다.
- Header들은
- setStatus()로 상태코드를 지정할 수도 있고,
- 여러가지 편리한, content, cookie, redirect 같은 기능들이 지원된다.
- HTTP 응답 데이터 - 단순 텍스트, HTML
- HTTP 응답 데이터 - API JSON
- 정리
반응형
'Spring' 카테고리의 다른 글
스프링 MVC 1 - 서블릿으로 회원 관리 웹 애플리케이션 만들기 (0) | 2022.07.04 |
---|---|
스프링 MVC 1 - 회원 관리 웹 애플리케이션 요구사항 (0) | 2022.07.03 |
스프링 MVC 1 - HTTP 응답 데이터 - API JSON (0) | 2022.07.03 |
스프링 MVC 1 - HTTP 응답 데이터 - 단순 텍스트, HTML (0) | 2022.07.03 |
스프링 MVC 1 - HttpServletResponse - 기본 사용법 (0) | 2022.07.02 |
댓글
이 글 공유하기
다른 글
-
스프링 MVC 1 - 서블릿으로 회원 관리 웹 애플리케이션 만들기
스프링 MVC 1 - 서블릿으로 회원 관리 웹 애플리케이션 만들기
2022.07.04 -
스프링 MVC 1 - 회원 관리 웹 애플리케이션 요구사항
스프링 MVC 1 - 회원 관리 웹 애플리케이션 요구사항
2022.07.03 -
스프링 MVC 1 - HTTP 응답 데이터 - API JSON
스프링 MVC 1 - HTTP 응답 데이터 - API JSON
2022.07.03 -
스프링 MVC 1 - HTTP 응답 데이터 - 단순 텍스트, HTML
스프링 MVC 1 - HTTP 응답 데이터 - 단순 텍스트, HTML
2022.07.03