● 스프링 웹 개발 기초
정적 컨텐츠 - 파일을 그대로 클라이언트(웹브라우저)에게 전달해주는 방법
MVC 와 템플릿 엔진 - 서버에서 변형을 해서 Html 을 바꿔서 내려주는 방식
API - JSON 이라는 데이터 구조 포맷으로 클라이언트에게 데이타를 전달해주는 요즘 방식
● 정적 컨텐츠
정적 컨텐츠는 기본적으로 /static 이라는 폴더 하위에 존재한다.
static 폴더 하위에 정적컨텐츠를 생성하고 테스트 해보겠다.
http://localhost:8080/hello-static.html
<!DOCTYPE HTML>
<html>
<head>
<title>static content</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
정적 컨텐츠 입니다.
</body>
</html>
URL 을 날려주면 관련 컨트롤러를 먼저 찾아보고 없으면 static 하위에서 파일을 찾아 클라이언트로 반환해준다.
● MVC 와 템플릿 엔진
MVC : Model / View / Controller
Controller
View
위와 같이 생성 후 URL - localhost:8080/hello-mvc 로 접속하게되면 400에러가 발생한다.
( 파라미터 name 에 전달해주는 값이 없어서)
위와 같이 required 옵션을 false 로하면 에러가 발생하지 않는다.
만약 파라미터 값을 넘겨주고싶다면 get 방식이므로 query string 을 이용해 값을 넘겨주면 된다.
EX ) http://localhost:8080/hello-mvc?name='넘겨줄값'
● API
@ResponseBody 태그는 직접 Http 의 Body 부에 데이터를 직접 넣어주겠다는 의미
@ResponseBody 를 사용하면 viewResolver 를 사용하지 않음.
http://localhost:8080/hello-string?name=spring 로 접속해보면 문자열만 그대로 반영이 되는 것을 볼 수 있다.
(HTML 태그 존재하지 않음)
내부 클래스를 이용해 객체를 생성해서 반환해보자
객체를 반환해주게 되면 JSON 형식으로 변환되어 반환되게 된다.
예전에는 xml 방식으로 사용하다가 요즘엔 JSON 방식으로 사용을 많이한다.
xml 의 경우 무겁지만 JSON 의 경우 심플하고 가벼운 데이터 구조를 갖는다.
@ResponseBody 원리
'SPRING' 카테고리의 다른 글
스프링 공부 - 6 (0) | 2022.09.14 |
---|---|
스프링 공부 - 5 (0) | 2022.09.03 |
스프링 공부 - 4 (0) | 2022.09.01 |
스프링 공부 - 3 (1) | 2022.08.27 |
스프링 공부 - 1 (0) | 2022.08.24 |