스프링으로 웹을 개발하는 세 가지 방법
- 정적 컨텐츠
- MVC, template
- API
1. 정적 컨텐츠 방식
- html 파일을 그대로 웹브라우저로 내려주는 방식
- static 경로에 저장하여 사용 => 예) resource/static/파일이름.html
- 실행 시 파일 이름을 그대로 붙여서 실행 => 예) http://localhost:8080/파일이름.html
웹브라우저 주소 호출 -> 내장 톰캣 서버(스프링 부트) -> 스프링 컨테이너(어? 관련 컨트롤러가 없네?라고 인식) -> static 폴더로 가서 해당하는 파일을 찾음 -> 그대로 실행
2. MVC, template(템플릿)
- 가장 많이 쓰는 방식
- html을 동적으로 바꿔서 주는 방식
- 동적으로 바꾸는 방식을 model, view, controller로 나누어 컨트롤
- template 경로에 저장하여 사용 => 예) resource/template/파일이름.html
- 실행 시 매핑한 이름으로 실행 => 예) http://localhost:8080/매핑시킨이름
웹브라우저 주소 호출 -> 내장 톰캣 서버(스프링 부트) -> 스프링 컨테이너(매핑된 컨트롤러 발견 -> model에 있는 키, 밸류들을 전달 -> viewResolver가 받아서 template에서 파일을 찾아서 처리) -> html로 변환 후 전달
3. API
- 가장 대표적으로 JSON을 전달할 때 사용
- html 파일이 아닌 있는 문자 그대로 전달
- @ResponseBody을 통해 문자를 변환
- 태그를 반환하는 것이 아님(별개의 html 파일을 필요로 하지 않음)
- http://localhost:8080/매핑이름?파라미터=문자열
웹브라우저 주소 호출 -> 내장 톰캣 서버(스프링 부트) -> 스프링 컨테이너(매핑된 컨트롤러 발견 -> @ResponseBody를 통해 그대로 넘김 -> 객체라면 JSON, 문자라면 문자열 형태로 변환) -> 변환된 문자열을 전달
이곳에 작성한 내용은 인프런에서 서비스하는 강의 중 김영한님의 스프링 강의를 정리하고 저의 언어로 기억하고 싶은 것을 정리한 내용입니다. 아래에 출처를 남겨두겠습니다.
https://www.inflearn.com/roadmaps/373
[초급~중급] 우아한형제들 기술이사 김영한의 스프링 완전 정복 - 인프런 | 로드맵
대세를 따르세요! 자바 스프링 베스트셀러 우형 최연소 기술이사에게 배우는 스프링 완전 정복 🚩 [사진] 오픈 3개월 만에 수강생 7000+명의 극찬 릴레이 ✨원리와 실무를 한방에, 김영한의 스프
www.inflearn.com
'Spring' 카테고리의 다른 글
[Spring] 스프링 AOP 개념, 실행 과정(프록시 생성, 의존관계 변경) (0) | 2022.01.20 |
---|---|
[Spring] 스프링 DB 접근 및 테스트, JPA (데이터베이스, 테스트코드, JPA, 스프링 데이터 JPA) (0) | 2022.01.20 |
[Spring] 스프링 빈과 의존관계 (스프링 빈에 등록하는 방법, 컴포넌트 스캔, 자바 코드) (0) | 2022.01.18 |
[Spring] 스프링 기본적인 백엔드 개발 예제 및 테스트 (기본적인 구조, 간단한 테스트 케이스 작성) (0) | 2022.01.17 |