본문 바로가기
개발자 공부 - 인프런 온라인 강의/스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[섹션 2. 스프링 웹 개발 기초] 정적 컨텐츠 & MVC와 템플릿 엔진 / 인프런 김영한 스프링 입문

by easpop 2023. 1. 21.
728x90
반응형

- 정적 컨텐츠

이번 시간에는 정적 컨텐츠에 대한 내용을 다루었다.

그 중에 용어 설명으로, 템플릿 엔진은 서버에서 프로그래밍을 통해 html을 동적으로 보여주는 역할을 한다.

API는, 요즘 대세는 json 포맷! json 포맷으로 클라이언트에 데이터를 전달할 때  API를 사용한다.

 

정적 컨텐츠를 이렇게 static 하위 폴더에 html 형식을 파일을 new file로 생성하고 서버 실행하면,

localhost:8080/파일명 을 치고 접근이 가능하다~~

반응형

정적 컨텐츠 파일을 열 때 흐름은, 웹 브라우저에서 localhost:8080/hello-static.html을 요청한다.

그 다음에는 톰캣 서버가 받은 요청을 전달한다.

그렇게 되면, 스프링 컨트롤러 단에서 hello-static이 있는지 찾아본다. (컨트롤러가 우선순위를 가지기 때문!)

없으면 static 폴더를 찾아보고 있으면 웹 브라우저에 리턴!

 

 

- MVC와 템플릿 엔진

get 방식을 통해서 url에 파라미터를 직접 name=spring! 입력해서 테스트를 해봤다~~!

동작 방식은, url에 직접 입력을 하면 "?" 뒤에 RequestParam을 이용해서 파라미터를 받고 컨트롤러로 넘어간다.

19번째줄 String name부분과 그 아래인 20번째줄 name이 spring!로 바뀐다. 그리고 model 객체에 담긴다.

그리고 return인 hello-template 페이지로 넘어가면서, model의 key값을 ${name} 부분으로 치환한다.

 

get방식으로 url을 통해 데이터를 보내는 것에 대해서 조금 더 자세히 설명하자면,

url에 "?" 마크를 통해서 URL의 끝을 선언하면서 데이터 표현의 시작한다는 것을 알린다~~

데이터는 key와 value값의 조합으로 되어있고,

2개 이상의 데이터가 들어갈 때는, 마크 중간에 "&"를 넣어주면 구분자 역할을 한다.

예를 들면, 아이디와 패스워드라고 가정할 때, www.aaaa.com/id=abcd&pass=1234 와 같이 된다.

 

정적 컨텐츠와의 차이점은 정적 컨텐츠는 변환없이 바로 웹 브라우저에 띄워주고,

이번 예제에서는 템플릿 엔진을 통해 변환을 거쳐서 웹 브라우저에 띄워준다는 차이점!

 

해보고 느낀점은, 이미 알고 있었지만 하나 하나 뜯어서 코드를 보지 않았기 때문에 약간 헷갈리던게 있었는데,

동작 방식을 이해하고 나니 조금 더 이해가 쉬워졌다!ㅋㅋㅋㅋ

728x90
반응형

댓글