[스프링 입문] 2 - (1) 정적 컨텐츠, (2) MVC와 템플릿 엔진
[정적 컨텐츠]
- 파일을 웹브라우저에 그대로 전달한다
src - main - resources - static 우클릭 → New - File 클릭 → hello-static.html 입력 → 강의 자료 코드 넣기
→ run → 인터넷에 localhost:8080/hello-static.html 입력
※ 과정
localhost:8080/hello-static.html 실행
↓
내장 톰켓 서버 입력 받음
↓
Controller에서 hello-static 있는지 찾는다
↓
없으면 내부 resources에서 hello-static 찾는다
↓
찾았으면 웹 화면에 출력
[MVC와 템플릿 엔진]
- 서버에서 프로그래밍해서 html을 동적으로 바꿔 출력
( View = 화면그리기 , Controller = 비지니스 로직 )
1. HelloController 수정
src - main - java - hello.hellospring - controller - HelloController 클릭 → 강의자료 코드 붙여넣기
☞ @GetMapping("hello-mvc") : localhost:8080/hello-mvc 일 때 아래 메서드 호출
☞ @RequestParam("name") : RequestParam("실제 값") String 설정할 변수 이름
☞ model.addAttribute() : Model 객체 파라미터로 받아 데이터 넘기기
(변수 이름, 변수에 넣을 데이터 값);
이때 변수에 넣을 데이터 값은 String name을 의미한다
즉 내가 입력하는대로 name 결정
☞ return "hello- templates" : hello- templates.html 파일 호출
2. hello-templates.html 만들기
src - main - resource - templates 우클릭 → New - File 클릭 → hello-templates.html 입력 → 강의자료 코드 넣기
☞ ${name} : model에 있던 값 가져온 것 ( = String name )
☞ 실제 서버를 통해 돌아가면 'hello ' + ${name} 만 출력된다
☞ 서버없이 그냥 html 만들어서 볼 때에는 hello! empty가 출력된다
그냥 경로를 복사해서 파일을 열어주는 것이다
(hello-template.html 우클릭 → Copy Path/Reference - Absolute Path 클릭 → 검색창에 입력)
3. get방식으로 파라미터 넘겨주기
인터넷에 http://localhost:8080/hello-mvc?name=hibye~~! 검색
여기서 hibye~~! 부분이 String name이자 model에서 받아온 ${name} 값이다
원하는 문구를 바로 화면에 출력할 수 있다 (아래 사진 참고)
※ 과정
localhost:8080/hello-mvc?name= 실행
↓
내장 톰켓 서버가 입력 받음
↓
Controller에서 찾기 (늘 controller 우선으로 찾는다)
↓
찾았으면 메서드 호출하고 hello-template 호출
↓
viewResolver가 동작하면서 view를 찾아주고 template연결해준다
↓
Thymeleaf 처리
↓
html 변환 후 웹에서 출력
[출처] 김영한 강사님 인프런 스프링 입문
[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의
스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세
www.inflearn.com