Search
Duplicate

스프링 웹 개발 기초

태그
기초
스프링부트
인프런
정적 컨텐츠
동작
hell-static.html 까지 전부 주소창에 쳐줘야 한다.
만약 port 번호가 이미 사용중이라는 오류가 발생하면 다음과 같이 해결한다.
1.
cmd 로 들어가서 netstat -ano 를 친다.
2.
그러면 다음과 같이 현재 사용중인 port 들에 대한 정보가 나온다.
이 중 실행을 중지하길 원하는 로컬 주소의 PID 를 복사한다.
3.
taskkill /pid [PID 번호] /f 를 치고 해당 포트를 종료 시킨다.
4.
종료되면 다음과 같은 문구가 나온다.
MVC 와 템플릿 엔진
Model, View, Controller
동작
hello-cotroller
hello-template
hello-controller 에서 받은 파라미터(name) 는 hello-template 의 name
으로 들어가게 되는군,,
주소창에 파라미터를 적을 때에는 다음과 같이 적는다.
localhost:8080/[@GetMapping 파라미터]?[파라미터 명]=[내가 넣을 값]
나는 localhost:8080/hello-mvc?name=hello spring!!!!!! 을 넣었다.
결과화면
API
동작
@ResponseBody 문자 반환
@ResponseBody 를 사용하면 뷰 리졸버(viewResolver) 를 사용하지 않는다.
(정적 컨텐츠와 MVC 와 템플릿 엔진의 구동 방식을 보면 뷰 리졸버를 사용한다는 것을 알 수 있다.)
대신에 HTTP 의 BODY 에 문자 내용을 직접 반환 한다.
(HTTP BODY TAG 를 말하는 것이 아니다.)
@ResponseBody 객체 반환
@ResponseBody 를 사용하고, 객체를 반환하면 객체가 JSON 으로 변환된다.
@ResponseBody 를 사용하면. . .
HTTP 의 BODY 에 문자 내용을 직접 반환한다.
viewResolver 대신에 HttpMessageConverter 가 동작한다.
기본 문자 처리 : StringHttpMessageConverter
기본 객체 처리 : MappingJackson2HttpMessageConverter
처리한 결과물은 json 형태로 웹 브라우저에 반환된다.
jason 이란?
일반적으로 서버에서 클라이언트로 데이터를 보낼 때 사용하는 양식. 클라이언트가 사용하는 언어에 관계 없이 통일된 데이터를 주고받을 수 있도록, 일정한 패턴을 지닌 문자열을 생성해 내보내면 클라이언트는 그를 해석해 데이터를 자기만의 방식으로 온전히 저장, 표시할 수 있게 된다.
byte 처리 등등 기타 여러 HttpMessageConverter 가 기본으로 등록되어 있다.