Summary
MVC가 없이 Servlet만으로 HTTP 요쳥 메시지와 응답 메시지 데이터를 가져오고 셋팅하는 방법을 배워봤다.
HTTP 요청 메시지 서버 입장에서는 아래의 GET과 POST 방식의 HTML Form 전송 받은 데이터 형식이 같아서 두 가지 모두 request.getParameter()로 데이터를 조회할 수 있다!
GET : 메시지 바디 없이 URL의 쿼리 파라미터에 데이터를 담아 보낸다. ex) 검색, 필터, 페이징 등에서 많이 사용하는 방식이다.
POST 방식으로 HTML Form 전송 Content-type과 인코딩 정보 필수 담는다.
content-type : application/x-www-form-urlencoded 메시지 바디에 데이터(쿼리 파라미터 형식)를 담아 보낸다. username=hello&age=20 ex) 회원 가입, 상품 주문, HTML Form 사용
HTTP API : JSON, XML, TEXT, Binary 데이터 등을 메시지 바디에 담아 전송한다. 데이터 형식은 주로 JSON 사용 전송 방식은 POST, PUT, PATCH request.getInputStream()으로 요청 메시지의 바디 내용을 byte로 가져온다! byte를 스트링으로 변환한다! - 스트링의 유틸리티인 StreamUtils.copyToString() 사용 byte 코드를 우리가 읽을 수 있는 문자(String)로 보려면 문자표
(Charset)를 지정해주어야 한다. 여기서는 UTF_8 Charset을 지정해주었다.
객체를 생성해서 이것을 ObjectMapper로 Json 데이터로 변환하여 보낼 수 있다.
2. HTTP 응답 메시지
구성 - HTTP 응답코드 지정 - 헤더 생성 - 바디 생성 - Content-Type, 쿠키, Redirect
단순 텍스트 : PrintWriter.println("text here");
HTML : content-type = text/html로 지정.
HTTP API : content-type = application/json으로 지정. ObjectMapper.writeValueAsString()를 사용하면 객체를 JSON 문자로 변경 가능하!
Last updated