스프링 웹 개발 기초
해당 포스팅은 김영한님의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 듣고 정리한 내용으로, 섹션 2. 스프링 웹 개발 기초에 관한 강의를 정리한 내용이다.

 

 

정적 컨텐츠

정적컨텐츠란? 서버에 저장되어 있는 페이지를 그대로 내려주는 방식

우선 스프링부트에서는 정적 컨텐츠 기능을 제공하는데 resource - static 폴더에서 파일을 찾아 제공하게 된다.

 

다만 말그대로 서버에 있는 파일 그대로 화면을 띄우기 때문에 해당 페이지에서 어떠한 동작을 제공하기가 힘들기 때문에 다른 방식을 찾게 된다.

동작원리

  1. 웹 브라우저의 요청
  2. 내장 톰캣 서버의 해당 컨텐츠 찾기
    1. 스프링 컨테이너에 접근(관련 컨트롤러가 없다? 정적컨텐츠이다)
    2. static 폴더내에서 해당 파일을 찾는다.
  3. 위에서 찾은 파일을 웹에 뿌려준다.

static 파일의 경로 설정

우선 spring boot에서는 /resources/application/properties파일에 정적 리소스 매핑될 패턴을 정할 수 있다. 

기본 default로는 spring.mvc.static-path-pattern=/** 이다. 만약 다른 경로로 관리가 필요할경우 properties를 수정해서 매핑패턴을 정의 해주면 된다.

MVC와 템플릿 엔진

MVC패턴을 이용하여, 템플릿 엔진을 사용해 HTML을 동적으로 바꿔 내리는 방법이다.

여기서 MVC 패턴은 Model, View, Controler로 해당 패턴을 많이 이용하게 된다.

API

서버에서 어떠한 데이터를 JSON과 같은 특정 포맷으로 응답을 주면 그것을 클라이언트(안드로이드, IOS 애플리케이션 등) 에서 전달 받아 알아서 정리하는 방식