본문 바로가기

WEB/Spring

웹 개발

 

static contents

말그대로 정적 콘텐츠다 

스프링 부트 내 컨테이너에 해당 html의 컨트롤러가 있는 것이 아니라 html 파일을 resourse\static 파일에 넣어두면 그대로 반환해줌

 

 

mvc/템플릿 엔진

모델/뷰/컨트롤러와 템플릿 엔진

우선 컨트롤러를 작성해준다

 

뷰도 작성해준다

 

/helloMvc 로 가면

길어서 안보일수도 있지만 ㅠ

컨트롤러에 파라미터에 name이 없다고 말하는 중

@RequestParam이 name을 원하고 있음

 

그럼 

이렇게 name에 지수라는 값을 넣어주면 된다!

 

이과정을 짧게 요약하면 

 

우리가 ~~/helloMvc?name1=jisu요청

스프링 컨테이너가 helloMvc를 컨트롤러에서 찾아서 hello-template.html을 리턴값으로 반환

그때 ?name1 = Jisu로 받아서 addAttrubute("name",Jisu)이렇게 된 셈 

viewResolver가 templates/hello-template.html의 ${name}값을 jisu 변환해서 우리에게 보여줌(정적 콘텐츠와의 차이) 


viewResolver가 가 찾아다니는 값의 기본 설정이 resources:templates/리턴값+.html

 

 

API

 

2가지 예시

1. 문자 반환

 

 

2. 객체 반환

 

문자와 객체 예시 코드에서 둘다 @ResponseBody를 찾아볼 수 있다.

앞에서 설명한 정적 컨텐츠와 mvc와 달리 html을 찾는게 아니라 직접 html body에 반환 내용을 넣어줌

@ResponseBody를 사용하면 컨트롤러가 HttpMessageConverter한테 반환 값을 전달해 줌

기본 문자처리는 StringHttpMessageConverter

기본 객체처리는 MappingJackson2HttpMessageConverter (Jackson은 오타가 아니라 Json 라이브러리!)

위의 사진처럼 객체 반환에서는 Json을 반환한 것을 알 수 있음