🎨
스프링 MVC
  • Initial page
  • 웹 애플리케이션 이해
    • 웹 서버, 웹 애플리케이션 서버
    • 서블릿
    • 동시 요청 - 멀티 쓰레드
    • HTML, HTTP API, CSR, SSR
    • 자바 백엔드 웹 기술 역사
  • 2. 서블릿
    • 프로젝트 생성
    • Hello 서블릿
    • HttpServletRequest - 개요
    • HttpServletRequest - 기본 사용법
    • HTTP 요청 데이터 - 개요
    • HTTP 요청 데이터 - GET 쿼리 파라미터
    • HTTP 요청 데이터 - POST HTML Form
    • HTTP 요청 데이터 - API 메시지 바디 - 단순 텍스트
    • HTTP 요청 데이터 - API 메시지 바디 - JSON
    • HttpServletResponse - 기본 사용법
    • HTTP 응답 데이터 - 단순 텍스트, HTML
    • HTTP 응답 데이터 - API JSON
    • Summary
  • 3. 서블릿, JSP, MVC 패턴
    • 회원관리 웹 애플리케이션 요구사항
    • 서블릿으로 회원 관리 웹 애플리케이션 만들기
    • NoClassDefFoundError(WebServlet) TroubleShooting
    • NumberFormatException TroubleShooting
    • HTML에서 한글이 보이지 않는 이슈 TroubleShooting
    • JSP로 회원 관리 웹 애플리케이션 만들기
    • MVC 패턴 - 개요
    • MVC 패턴 - 적용
    • MVC 패턴 - 한계
    • Summary
  • 4. MVC 프레임워크 만들기
    • 프론트 컨트롤러 패턴 소개
    • 프론트 컨트롤러 도입 - v1
    • View 분리 - v2
    • Model 분리 - v3
    • 단순하고 실용적인 컨트롤러 - v4
    • ⭐️유연한 컨트롤러1 - v5(어댑터 도입, 인터페이스3 처리)
    • ⭐️유연한 컨트롤러2 - v5(어댑터 도입, 인터페이스3,4 처리)
    • Summary
  • 5. 스프링 MVC - 구조 이해
    • ⭐️스프링 MVC 전체 구조
    • 핸들러 매핑과 핸들러 어댑터
    • 뷰 리졸버
    • 스프링 MVC - 시작하기
    • @Controller 등장!⭐️
    • 스프링 MVC - 컨트롤러 통합
    • 스프링 MVC - 실용적인 방식
    • Summary
  • 6. 스프링 MVC - 기본 기능
    • 프로젝트 생성
    • 로딩 간단히 알아보기
    • 요청 매핑
    • 요청 매핑 - API 예시
    • HTTP 요청 - 기본, 헤더 조회
    • HTTP 요청 파라미터 - 쿼리 파라미터, HTML, Form
    • HTTP 요청 파라미터 - @RequestParam
    • HTTP 요청 파라미터 - @ModelAttribute
    • HTTP 요청 메시지 - 단순 텍스트
    • HTTP 요청 메시지 - JSON
    • 응답 - 정적 리소스, 뷰 템플릿
    • HTTP 응답 - HTTP API, 메시지 바디에 직접 입력
    • HTTP 메시지 컨버터
    • 요청 매핑 핸들러 어댑터 구조
    • Summary
  • 7. 스프링 MVC - 웹 페이지 만들기
    • 프로젝트 생성
    • 요구사항 분석
    • 상품 도메인 개발
    • 상품 서비스 HTML
    • 상품 목록 - 타임리프
    • 상품 상세
    • 상품 등록 폼
    • 상품 등록 처리 - @ModelAttribute
    • 상품 수정
    • PRG Post/Redirect/Get
    • RedirectAttributes
    • Summary
  • What's Next?
Powered by GitBook
On this page

Was this helpful?

  1. 2. 서블릿

Summary

MVC가 없이 Servlet만으로 HTTP 요쳥 메시지와 응답 메시지 데이터를 가져오고 셋팅하는 방법을 배워봤다.

  1. 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을 지정해주었다.

String messageBody = StreamUtils.copyToString(inputStream,StandardCharsets.UTF_8);

객체를 생성해서 이것을 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 문자로 변경 가능하!

PreviousHTTP 응답 데이터 - API JSONNext회원관리 웹 애플리케이션 요구사항

Last updated 3 years ago

Was this helpful?