본문 바로가기
SPRING

스프링 공부 - 2

by HUNIIIIII 2022. 8. 27.

스프링 웹 개발 기초

정적 컨텐츠 - 파일을 그대로 클라이언트(웹브라우저)에게 전달해주는 방법

MVC 와 템플릿 엔진 - 서버에서 변형을 해서 Html 을 바꿔서 내려주는 방식

API - JSON 이라는 데이터 구조 포맷으로 클라이언트에게 데이타를 전달해주는 요즘 방식

 

● 정적 컨텐츠

출처 - spring.io

정적 컨텐츠는 기본적으로 /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 로 지정하여 파라미터 값이 없어도 에러 나지 않도록 설정

위와 같이 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