스프링 웹 개발의 정적 컨텐츠, 동적 컨텐츠, API 구현 방법
강의 내용 복습 : 김영한의 스프링 입문 강의 (섹션 0~2)
🔔 강의 내용 요약
📌 Spring 개발 환경 구축
- 스프링 프로젝트 생성 사이트에서 새 프로젝트를 생성하였습니다.
- build.gradle 파일에서 Spring 및 Java 버전을 설정하였고 의존성을 작성하였습니다.
📌 웹 개발 형태 1. Spring을 이용한 정적 콘텐츠 렌더링
- index.html 파일에서 기본 Welcom Page를 생성하였습니다.
- 기본적으로 생성되어 있는 Application의 메인 메서드를 실행시켜 서버를 작동시켰습니다.
📌 웹 개발 형태 2. Spring MVC 및 템플릿 엔진을 이용한 동적 콘텐츠 렌더링
- Controller를 이용하여 브라우저에서 /hello, /hello-mvc 페이지를 호출시켰습니다.
- 브라우저 주소창에 localhost:8080/hello-static.html을 입력하여 파일을 호출하였습니다.
📌 웹 개발 형태 3. Sping을 이용한 API 구현
- 메서드를 이용하여 컨트롤러에 직접적으로 객체를 생성하였고 실행하였습니다.
- 컨트롤러에서 매핑된 주소를 웹 브라우저에 입력하고 구현된 API를 확인할 수 있었습니다.
🔔 개념 보충
📌 MVC의 동작 원리
- 컨트롤러는 웹 브라우저 등의 인터페이스에서 사용자가 입력한 데이터를 모델에게 전달합니다.
- 모델은 전달받은 데이터를 조회하거나 수정하고 그 결과를 컨트롤러에게 반환합니다.
- 컨트롤러는 반환된 데이터와 관련된 뷰 컴포넌트를 선택하고 해당 뷰로 데이터를 전달합니다.
- 뷰는 최종적으로 전달받은 데이터를 바탕으로 사용자에게 보여지는 화면을 생성합니다.
📌 MVC와 템플릿 엔진의 관계
- MVC가 동작하는 과정에서 템플릿 엔진은 뷰에 동적 콘텐츠를 포함시키는 역할을 합니다.
- 뷰 파일 내용 중 템플릿 엔진의 간단한 표현식 예시로는
${name}
이 있습니다.- 이는 사용자가 인터페이스에서 입력한 ‘name’값을 뷰 컴포넌트에 적용시키는 기능을 합니다.
- 사용자의 입력값에 따라 값이 달라지기 때문에 이 과정을 ‘동적’이라고 표현할 수 있겠습니다.
- 또한 템플릿 엔진은 웹 애플리케이션의 프론트엔드와 백엔드 로직이 분리되는 기점이기도 합니다.
📌 템플릿 엔진이 포함된 View 컴포턴트
- 템플릿 엔진이 포함된 뷰 컴포넌트의 전체 코드는 아래와 같습니다.
1
2
3
4
5
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</html>
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.