- 정적 컨텐츠
이번 시간에는 정적 컨텐츠에 대한 내용을 다루었다.
그 중에 용어 설명으로, 템플릿 엔진은 서버에서 프로그래밍을 통해 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 와 같이 된다.
정적 컨텐츠와의 차이점은 정적 컨텐츠는 변환없이 바로 웹 브라우저에 띄워주고,
이번 예제에서는 템플릿 엔진을 통해 변환을 거쳐서 웹 브라우저에 띄워준다는 차이점!
해보고 느낀점은, 이미 알고 있었지만 하나 하나 뜯어서 코드를 보지 않았기 때문에 약간 헷갈리던게 있었는데,
동작 방식을 이해하고 나니 조금 더 이해가 쉬워졌다!ㅋㅋㅋㅋ
'개발자 공부 - 인프런 온라인 강의 > 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 카테고리의 다른 글
[섹션 3. 회원 관리 예제 - 백엔드 개발] 회원 서비스 테스트 / 인프런 김영한 스프링 입문 (0) | 2023.01.29 |
---|---|
[섹션 4. 스프링 빈과 의존관계] 컴포넌트 스캔과 자동 의존관계 설정 / 인프런 김영한 스프링 입문 (0) | 2023.01.28 |
[섹션 3. 회원 관리 예제 - 백엔드 개발] 회원 서비스 개발 / 인프런 김영한 스프링 입문 (0) | 2023.01.28 |
[섹션 3. 회원 관리 예제 - 백엔드 개발] 회원 리포지토리 테스트 케이스 작성 (+ Intellij 자동완성 단축키, 변수 자동입력 단축키, Static Import, 변수명 변경 단축키) / 인프런 김영한 스프링 입문 (0) | 2023.01.28 |
[섹션 3. 회원 관리 예제 - 백엔드 개발] 비즈니스 요구사항 정리 & 회원 도메인과 리포지토리 만들기 / 인프런 김영한 스프링 입문 (0) | 2023.01.27 |
[섹션 2. 스프링 웹 개발 기초] API / 인프런 김영한 스프링 입문 (0) | 2023.01.25 |
[섹션 1. 프로젝트 환경설정] View 환경설정 / 인프런 김영한 스프링 입문 (0) | 2023.01.20 |
[섹션 0. 강의 소개 & 섹션 1. 프로젝트 환경설정] 프로젝트 생성 / 인프런 김영한 스프링 입문 (0) | 2023.01.19 |
댓글