Replies: 1 comment
-
|
정리 잘하시네요 ㄷㄷ ;; |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
2_스프링 웹 개발 기초
정적 컨텐츠
resources/static/{원하는파일.html}원하는 정적 html 파일을 생성한 후에,localhost:8080/{원하는파일.html}로 들어가보면 정적 컨텐츠를 그대로 볼 수 있다.localhost:8080/hello-static.html을 내장 톰켓 서버가 받으면, 우선 스프링은 관련한 컨트롤러가 있는지 먼저 확인한다. (컨트롤러의 우선순위가 더 높다는 것을 의미)hello-static이라는 컨트롤러가 존재하지 않다는 것을 확인하면(맵핑되는 컨트롤러가 존재하지 않음), 내부에 있는resources/static폴더에서 찾고, 찾았다면 해당 html을 반환해준다.MVC와 템플릿 엔진
MVC : Model, View, Controller
가장 많이 사용 하는 방식으로, html을 동적으로 바꿔주는 역할을 한다.
외부에서 파라미터를 받아오는 방식의 메서드 생성 (웹 사이트 url 파라미터로 받는 방식)
localhost:8080/hello-mvc를 넘기면, 내장 tomcat 서버를 먼저 거친후에 스프링은 Controller에 맵핑되는 것이 있는지를 확인한다.hello-mvc와 맵핑되는 메서드를 찾으면, 그 메서드의 return 값인hello-template을 통해 해당 html 파일이 불러와진다. 이때, 인자를 통해model에 key값은name이고, (위의 예시와 같은 경우에는) value값은springspring!을 넘겨주었다.templates/hello-template.html을 찾아서 렌더링한다. (return의 스트링 네임과 같은 파일을 찾음)API
JSON데이터 구조 포맷으로 클라이언트에게 데이터를 전달하는 것문자가 아닌 객체를 넘겨주는 hello-api 메서드
helloApi 메서드에서는 getter/setter 함수를 생성

ResponseBody 사용 원리

웹 브라우저에서
localhost:8080/hello-api를 받으면, tomcat 내장서버에서 스프링에 던져서 컨트롤러에 맵핑되는 것이 있는지 찾는다.맵핑되는 것을 찾았는데,
@ResponseBody라는 애노테이션을 발견하게 되면 HTTP의 BODY에 문자 내용을 그대로 반환. (ResponseBody가 없을 시에는 위의 template 예제 처럼 동작)이때, 넘겨주는 데이터가 문자라면 문자 값을 http 응답에 바로 넣어서 준다. (hello-srting 예제)
하지만, 이때 넘겨주는 데이터가 문자가 아니라 객체인 경우, JSON 방식으로 데이터를 만들어서 http 응답에 넘겨준다.
StringHttpMessageConverterMappingJackson2HttpMessageConverterBeta Was this translation helpful? Give feedback.
All reactions