20210902_TIL

hellooz·2021년 9월 2일
0

TIL

목록 보기
3/8

MVC와 템플릿 엔진

  • Model, View, Controller

  • model1 방식

    • JSP : View에서 모든 것을 다함
  • View : 화면을 그리는데에 집중

  • Model, Controller : 비지니스 로직 관련. 내부적으로 처리하는데에 집중

  • 실행 순서

    웹 브라우저
    -> 톰캣 내장 서버로 주소 전달
    -> 톰캣은 스프링 컨테이너에 있는 helloController 한테 전달
    -> helloController 안에 매핑되어있는 메서드 호출
    -> 메서드는 model에 값 넣고, 템플릿 명 리턴
    -> spring은 viewResolver 실행
    -> viewResolver가 templates/리턴값.html를 thymeleaf 템플릿 엔진에 넘겨서 처리 후 html 변환해서 웹브라우저에 넘겨줌

  • viewResolver : 화면과 관련된 해결자 -> 뷰 찾아주고 템플릿 엔진 연결시켜줌 (spring mvc 강좌에서 자세하게 설명할 것임)

API

  • 데이터를 바로 내리는 방식
  • 뷰가 없고 리턴 값이 그대로 내려감
  • 객체를 반환할 때는 기본으로 json으로 반환함
  • 웹브라우저 -> 톰캣 내장 서버로 주소 전달 -> 톰캣은 스프링 컨테이너에 있는 helloController 한테 전달 -> @ResponseBody라는 annotation이 붙어있으면 http 응답에 그대로 문자나 객체를 전달 (객체는 기본으로 json으로 전달)
    (ViewResolver 대신에 HttpMessageConverter가 동작하면서 JsonConverter나 StringConverter가 동작)

intelliJ 단축키

  • ctrl + p : 파라미터 설명 보기
  • ctrl + shift + enter : 자동 완성
  • alt + insert : generate 열림 (getter, setter,...등)

(출처 : 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술)

0개의 댓글