1. 정적 컨텐츠

 

03. Welcome Page 만들기에서 만든 Welcome Page가 정적 컨텐츠입니다.

 

서버에서 하는거 없이 파일 그대로 웹브라우저에 내려주는 것을 지칭합니다.

 

※ spring boot에서의 정적 컨텐츠 문서 ※

 

먼저 간단하게 static 폴더에 아무 html 파일을 만들어 주겠습니다.

 

저는 김영한님 강의를 따라서 진행하므로 hello-static.html 로 만든 후에 진행하겠습니다.

 

hello-static.html

서버를 실행시켜주고 이제 localhost:8080/hello-static.html 으로 이동해보겠습니다.

 

그러면 위와 같이 hello-static.html 페이지로 이동하게 됩니다.

 

즉, 원하는 html 파일을 static 폴더에 넣으면 정적파일이 그대로 반환 됩니다.

 

하지만 어떤 프로그래밍을 할 수는 없습니다.

 

정적 컨텐츠

 

 


MVC

 

MVC는 Model, View, Controller의 약자입니다.

 

옛날에는 Controller와 View가 구분되어 있지 않았습니다. 이러한 방식을 Model One 방식이라고 지칭합니다.

 

하지만 현재는 Model, View, Controller 3가지로 나누는 MVC 방식이 대중적입니다.

 

그림을 보면 

 

1. 사용자가 controller를 조작

2. controller는 model을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 view 제어

3. view를 사용자에게 전달

 

위와 같은 순서로 처리가 됩니다.

 

Controller
View

 

 


 

새로운 페이지 만들기

 

먼저 templates 폴더 내부에 hello-template.html 파일을 만들어 주겠습니다.

templates html

그 후, controller에 함수를 추가해주겠습니다.

controller

실행 후에 localhost:8080/hello-mvc 로 접속하면 페이지에서 Whitelabel Error Page 가 뜨게 되게 로그를 보면

 

Required request parameter 'name' for method parameter type String is not present]

 

Warning 메시지가 뜨게 될겁니다.

 

메시지를 살펴보면 'name'이라는 parameter가 필요하다고 나옵니다.

 

그러면 이제 localhost:8080/hello-mvc?spring!!! 으로 접속해보면

 

이런식으로 페이지가 생성 됩니다.

 

동작 방식을 살펴보면

  1. localhost:8080/hello-mvc 에 접속
  2. 내장 톰캣 서버에서 hello-mvc라는게 온 걸 스프링에게 전달
  3. 스프링은 helloController에 mapping이 되어 있는걸 인식 및 호출
  4. name을 spring!!!으로 변경 후 모델에 담아주고 hello-templates 라는 html을 return
  5. viewResolver가 사용자에게 templates/hello-template.html 을 Thymeleaf 탬플릿 엔진에 넘겨준다.
  6. Thymeleaf가 랜더링을 해서 사용자에게 넘겨줍니다.

 

 

 

출처 : 인프런 - 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 (김영한 강사님)

'Web > backend' 카테고리의 다른 글

07 - 01. 회원 관리 예제  (0) 2022.10.05
06. API - 정리  (0) 2022.10.05
04. 빌드하고 실행하기  (0) 2022.10.04
03. Welcome Page 만들기  (0) 2022.09.30
02. 사용하는 library  (0) 2022.09.30

+ Recent posts