관리 메뉴

여름 언덕에서 배운 것

[스프링입문]섹션2- 스프링 웹 개발 기초 본문

가랑비에 옷 젖는 줄 모른다 💻/스프링

[스프링입문]섹션2- 스프링 웹 개발 기초

잔뜩 2023. 9. 25. 00:15

웹을 개발한다는 건 크게 3가지 방식이 있어요

1. 정적컨텐츠

welcome page 처럼 파일 그대로를 웹브라우저에 내려주는 것

파일 그대로를 고객에게 그대로 전달

2.MVC와 템플릿 엔진

html를 그대로 주는게 아니라 서버에서 프로그래밍해서 html을 어느정도 동적으로 바꿔주기

서버에서 뭔가 변형을 하는 것

3.API

요즘엔 json이란 데이터 구조 포맷으로 클라이언트에게 데이터를 전달합니다.

 

정적컨텐츠

스프링부트는 정적컨테츠를 자동으로 제공해줍니다.

어떤 프로그래밍을 할 순 없다.

MVC 역할과 책임을 나누자

모델,뷰,컨트롤러

모델1방식은 뷰에 모든걸 다함 JSP가지구

지금은 MVC 스타일로 합니다.

뷰는 화면을 그리는데 모든 역량을 집중해야 합니다.

컨트롤러는 비즈니스 로직과 관련

 

외부에서 Parameter를 만들기 위해서 RequestParam 어노테이션 달아주기

 

절대경로

 

왜 에러가 날까요!

param에 required 가 있는데..? default true 로 해줘서 parmeter를 받을 수 있도록 하자

 

?name=spring 하면 model에 spring이 담긴다.

 

API

정적컨텐츠를 제외하면 html로 내리냐, api를 이용해 data로 내리냐 2개로 기억하면 됩니다.

responsebody란 html 구조가 헤드와 바디부가 있는데

응답을 body에 넣겠다 라는 뜻입니다.

 hello-api

JSON 키와 값으로 이뤄진 데이터가 넘어온다.

요즘엔 JSON 방식으로 프로젝트를 진행합니다.

객체를 반환하고 RESPONSEBODY로 하면 JSON으로 반환하는게 디폴트로 세팅이 되어있습니다.

responsebody가 없으면 템플릿을 던지는데 있으면 http 응답에 데이터를 그대로 넘겨야겠다고 생각하고 넘깁니다.

문자인 경우면 body에 문자 그대로를 넘기고 객체면 스프링입장에서는 기본 디폴트가 JSON방식으로 만들어서

HTTP응답에 반환합니다.

 

728x90