일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- git 컨벤션
- 최소공배수
- string
- 유클리드호제법
- 최대공약수
- 최대공약수와 최소공배수
- 스프링
- ineer join
- stringbuilder의 reverse()
- 스프링환경설정
- 스프링뼈대
- islowercase()
- 베주계수
- while과 two-pointer
- sql 데이터형 변환
- toLowerCase()
- 자바 최대공약수
- 동일성과 동등성
- StringBuilder
- replaceAll()
- 프로그래머스 레벨1
- 모던자바
- isuppercase()
- addDoc
- string과 stringbuilder
- 자바 유클리드
- 자바 최소공배수
- 래퍼타입
- 자바 스트링
- Git사용법
- Today
- Total
주노 님의 블로그
[Spring] 3. 서버가 클라이언트에게 페이지를 전달하는 방식 (MVC와 템플릿 엔진) 본문
시작하기에 앞서
아래 내용은 김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB접근기술에서 발췌한 내용입니다.
강의자료 일부를 발췌하는건 괜찮다고 하셨다.
무료강의로 지식을 공유해주신 김영한님께 다시한번 감사의 인사를 올리겠습니다
(_ _) (유료도 샀어요!)
MVC는
MODEL : 비즈니스 로직
VIEW : 유저에게 보여지는 페이지
CONTROLLER : 중간역할
거의 ECB패턴과 유사하다 생각하면된다
helloController 클래스에
위 내용을 추가해주고
hello-template를 리턴하니까 hello-template.html을 생성한다
그럼 오류가 뜨게 되는데
콘솔창에 경고가 떴다
메서드의 파라미터인 스트링을 위해서 네임은 파라미터가 요구되는데 지금은 없다.
ctrl + p를 누르면 위 내용이 뜬다 required의 default가 true기 때문에 name을 넘겨줘야한다.
http://localhost:8080/hello-mvc?name=juno
가 출력되게 된다
위 방식은 http의 get요청 방식중 하나로 ?이후에 쿼리 문자열(쿼리 스트링)을 포함하여 서버에 데이터를 전달한다
키 값쌍으로 되어있으며 여러개의 파라미터를 &로 구분할 수 있다..
키 : name
값 : juno
네이버도 이렇게 검색하게 된다면 그 검색창으로 가게된다
물론 네이버는 이것저것 붙는다 하지만 저렇게도 검색이 된다 ㅇㅇ.
https://search.naver.com/search.naver?query=폭염은 준호를 괴롭게한다
hello-mvc get요청을 받으면
위 코드에서 String에 juno를 담고, 모델에 담긴후
리턴으로 템플릿으로 가게된다
모델의 키값의 name을 찾아서 치환해준다
어떻게 흐르는 것일까??
유저의 localhst:8080/hello-mvc의 get 요청을받으면
내장 톰켓서버에서 hellocontroller에서 있다는 것을 찾고
return의 hello-template를 찾아
model(키name :값 juno)넣은 내용을
spring은 viewResolver에서
템플릿 엔진이 처리한 후 변환을 한 내용을 전달해준다
'공부 > Spring' 카테고리의 다른 글
[Spring] 4. 회원관리 예제 (비즈니스 요구사항 정리) (0) | 2024.07.28 |
---|---|
[Spring] 3. 서버가 클라이언트에게 페이지를 전달하는 방식 (API) (0) | 2024.07.27 |
[Spring] 3. 서버가 클라이언트에게 페이지를 전달하는 방식 (정적 콘텐츠) (0) | 2024.07.27 |
[Spring] 2. thymeleaf 템플릿을 사용해 동적으로 웹 생성하고, 빌드하기 java.lang.UnsupportedClassVersionError 해결법 (0) | 2024.07.27 |
[Spring] 1. 스프링 설치하기 및 환경설정 (0) | 2024.07.27 |