인프런 커뮤니티 질문&답변

youn님의 프로필 이미지
youn

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

MVC와 템플릿 엔진

MVC 실습관련 질문입니다

해결된 질문

작성

·

156

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
MVC 강의 내용에서 return 한 내용을 보고
templates에서 return한 내용과 동일한 이름을 갖고 있는 html을 찾아 변환된 내용을 웹 브라우저에 뿌려준다고 했습니다
 
웹 브라우저에서 요청이 들어오면 내장 톰켓서버가 요청을 스프링 컨테이너에 알리고 컨테이너는 맨 처음 컨트롤러에 해당 내용이 있는지 찾는다고 하셨는데
이때 컨트롤러에 있는 경우에는 return 받은 내용을 무조건 templates에서만 찾는건가요?
(궁금해서 static 하위로 옮겨서 수행을 해보니까 오류가 나는걸 보고 컨트롤러에 있으면 -> templates를 확인, 컨트롤러에 없으면 -> static에서 확인 이렇게 이해를 했습니다)
 
이거관련해서 정확하게 알고 싶어 질문 남깁니다
 
감사합니다

답변 1

0

안녕하세요. youn님, 공식 서포터즈 David입니다.

사용자의 요청이 서버에 들어오면 요청된 URL을 처리할 수 있는 핸들러(컨트롤러)를 찾습니다.

이후 동적파일은 현재 사용중인 템플릿엔진(타임리프)에 의해 처리되므로 동적파일이 templates 디렉토리 내에 존재해야 합니다.

정적파일의 경우 static 디렉토리 아래에 위치해야 처리됩니다.

감사합니다.

youn님의 프로필 이미지
youn
질문자

아하 그럼 강의에도 잠깐 언급된 jsp, php를 사용하는 경우에도 템플릿엔진에 의해 처리가 되는 거기때문에 리턴받는 파일에 대해서 templates 디렉토리 내에 위치해야하는 거겠네요??

jsp, php는 또 다른 얘기입니다.

spring boot에서 jsp를 처리하기 위해 jasper(JSP Engine)가 필요하고, jsp는 templates 디렉토리와는 또 다른 기본 경로가 존재합니다.

이에 대해서는 스프링MVC 강의(섹션 3. 서블릿, JSP, MVC 패턴)에서 조금 다루니 참고해주세요. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1

youn님의 프로필 이미지
youn
질문자

넵넵 알겠습니다~ 감사합니다!!

youn님의 프로필 이미지
youn

작성한 질문수

질문하기