Spring

[Spring] Spring 시작해보기 - 3. Spring 웹 개발 기초(1)

아이캔두이 2022. 8. 18. 07:57
728x90
반응형

 

오늘은 스프링 웹 개발의 기초 개념 3가지에 대해 배워 보려고 합니다.

 

  • 정적 콘텐츠 : 파일을 웹 브라우저에 그대로 전달해 주는 것입니다.
  • MVC와 템플릿 엔진 : jsp, php가 템플릿 엔진인데 html을 서버에서 프로그래밍해서 html을 동적으로 바꿔서 전달해 주는 것입니다.
  • API : json 포맷으로 클라이언트에게 데이터를 전달해 주는 방식입니다.

 

대략적으로 위의 3가지인데 하나씩 알아보도록 합시다.

 


 

1. 정적 콘텐츠

 

스프링 부트는 정적 콘텐츠 기능을 자동으로 제공을 합니다.

static 경로에 html 파일을 하나 추가해 보도록 하겠습니다.

 

spring

 

 

내용은 간단하게 입력해 봅시다.

 

spring

 

<!DOCTYPE html>
<html>
    <head>
        <title>static content</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
        정적 컨텐츠 입니다.
    </body>
</html>

 

실행시켜 보겠습니다.

 

이런 화면은 앞 글에서도 얘기했으니 간단하게 보고 넘어가겠습니다.

 

 

 


2. MVC와 템플릿 엔진

 

MVC : Model, View, Controller

Model, Controller는 비즈니스 로직과 관련되어 있거나 내부적인걸 처리하는데 집중해야 합니다.
View는 화면을 그리는 것 자체에 집중해야 합니다.

 

기존에 만들었던 HelloController.java에 하나를 추가해 보도록 하겠습니다.

@RequestParam을 사용하여 외부에서 파라미터를 받아오도록 합시다.

 

spring

 

 

return으로 보낸 hello-template 이름으로 template 경로에 html 파일을 생성해 줍니다.

 

spring

 

 

간단하게 아래와 같이 작성해 봅시다.

 

spring

 

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
    <body>
        <p th:text="'hello ' + ${name}" >hello! empty</p>
    </body>
</html>

 

 

이렇게 입력하고 실행을 시키면 error가 날 것입니다.

 

spring

 

 

error 로그를 읽는 능력도 중요한데 위에는 다음과 같은 에러가 발생했습니다.

Required request parameter 'name' for method parameter type String is not present

 

로그를 보니 name이 있어야 하는데 설정해 주지 않아서 뜨는 에러입니다.

그래서 name값을 주어야 합니다.
http Get 방식에서 ?를 통해 파라미터를 넘겨줄 수 있습니다.

아래와 같이 입력하고 실행하면 잘 뜨는 것을 확인해 볼 수 있습니다.

 

 

spring

 

 

 

여기까지 MVC에 대해 알아보았고, API에 대해 이어서 학습해 보도록 하겠습니다.

 

[Spring] Spring 시작해보기 - 3. Spring 웹 개발 기초(2)

오늘은 스프링 웹 개발에서 이야기 하는 API 방식에 대해 알아보자. 정적 컨텐츠 방식을 제외하면 MVC 방식과 API 방식 두가지를 거의 사용한다고 보면 된다. 그럼 코딩해 보면서 알아보자. HelloContr

icandhee.com

 

 

728x90
반응형