mvc방식에서 view를 찾아가지고 template engine을 통해서 화면을 rendering해서 html을 web browser에 넘겨주는 방법
jsp, php가 template engine중 하나로써 정적페이지가 아닌, 동적페이지를 전달하는 것이다.
우리는 이제 이 2번 방식에 대해 알아볼것임.
여기의 body는 html의 <body>
가 아니라 http 통신프로토콜에서 head와 body부가 있는데 여기 body부에 내가 직접 data를 넣어주겠다는 뜻이다.
그럼 저번시간에 했던 thymeleaf를 사용한 일반적인 통신과 @ResponseBody값의 차이점은 무엇인가?
@ResponseBody
를 사용한다면 html 태그없이 문자열만 내리고
thymeleaf
를 사용한다면 안의 html이 다시 재조정되어 결과값이 보일 것이다.
참고로 파라미터(RequestParam)를 더 자세히 보려면 Mac은 cmd+p
, window는 ctrl+p
를 누르면 더 자세히 볼 수 있다.
그럼 왜 json형태가 가장 많이 쓰이냐? 예전에는 xml 형태가 많이 쓰였다.
xml은 html을 작성해서 html문서를 주고받는 형태였다. 이는 매우 무겁고, 귀찮고 data를 전송하는데 있어 3차원을 표현하는데 불리한 방식이었다.
이를 보완하고자 어느 한 개발자가 json 형태를 만들어쓰기 시작했고 이게 data를 표현하는데 있어 편하고 3차원 data를 표현하는데 있어 매우 유리했기에 요즘 가장 많이 쓰이는 data form이 되었다.
field값이 private으로 되어있으니 getter, setter method로 접근하는 것. 이것이 java Bean 표준방식
또는 property 접근 방식
이라 함
참고로 intellij 기준 단축키는 alt+insert
이다. mac은 cmd+n
이다.
viewResolver
대신 HttpMessageConverter
가 동작StringHttpMessageConverter
MappingJackson2HttpMessageConverter
클라이언트의 HTTP Accept 해더와 서버의 컨트롤러 반환 타입 정보 둘을 조합해서
HttpMessageConverter
가 선택된다.
어느정도 작성하고 귀찮으면 ctrl + shift + enter
치면 자동완성이 되고 다음줄로 내려간다.
mac은 cmd + shift + enter