스프링 부트, 입문!

준비중..

스프링 부트, 입문!

기본 게시판 만들기!

03 헬로 스프링 부트

# 헬로 스프링 부트 ## 미션 --- 임무가 주어졌다! 브라우저로 "localhost:8080/"에 접속하여, 아래 결과를 만드시오. ![클라우드스터딩-스프링부트-헬로월드](https://i.imgur.com/0RrWhhP.png) ## 개념 --- #### ⭐️ 웹 서비스의 동작원리 웹 서비스는 클라이언트와 서버. 이들의 요청과 응답으로 동작한다. 어려울 것 없다. 음식 배달이다. 고객(client)이 주문(request)을 하면, 음식점(server)에서 배달(response)이 온다. ![클라우드스터딩-스프링부트-클라이언트-서버-요청과-응답](https://i.imgur.com/BdLBalF.png) #### ⭐️ HTTP 프로토콜 이러한 요청과 응답은 HTTP(HyperText Transfer Protocol)로 주고 받는다. 우리가 전화로 음식을 주문하는 것 처럼, 브라우저는 HTTP로 웹페이지를 요청한다. ![클라우드스터딩-스프링부트-http-로고](https://i.imgur.com/il1dZoe.png) HTTP의 대표적 동작은 아래와 같다. ~~자세한 내용은 나중에..!~~ - GET: 데이터 조회 요청 - POST: 데이터 생성 요청 - PUT/PATCH: 데이터 수정 요청 - DELETE: 데이터 삭제 요청 #### ⭐️ URL 그럼, 실제 클라이언트와 서버의 요청과 응답을 확인해보자. 어떻게? 구글 사이트에 접속해보는 거다. ![클라우드스터딩-스프링부트-클라이언트-서버-요청과-응답-예](https://i.imgur.com/x6uHMls.png) 위 페이지가 나오는 과정은 아래와 같다. 해당 과정에서, 브라우저 상단에 적은 주소. 이를 URL이라 한다. ~~URI와 굳이 구분하지 않겠다.~~ 1. 사이트 주소를 적는다. (요청 전송) 2. 기다린다. (응답 대기) 3. 구글 페이지가 나온다 (응답 완료) #### ⭐️ 컨트롤러와 뷰 패스트 푸드점에는 카운터 직원이 있다. 해당 직원은 주문을 받고, 메뉴가 나오면 이를 알려준다. 서버도 이와 같다. 요청과 응답을 전담하는 컨트롤러(controller)가 있다. 이러한 컨트롤러의 응답은, 보통 웹 페이지로 반환된다. 이러한 페이지를, 뷰(view)라 한다. ~~자세한 내용은 실습을 통해 연습해보자..!~~ ![클라우드스터딩-스프링부트-컨트롤러와-뷰](https://i.imgur.com/Gq8z0EH.png) ## 튜토리얼 --- #### ⭐️ 컨트롤러 ![클라우드스터딩-스프링부트-컨트롤러-생성](https://i.imgur.com/6xBRHLK.png) 1) 패키지 생성 - com.example.myblog.controller 2) 클래스 생성 - HelloController 3) 코드 작성: "controller/HelloController" ``` @Controller // 해당 클래스를, 컨트롤러로 선언! public class HelloController { @GetMapping("/") // 다음 url 요청을 받음 -> "/"를 보여줘 -> 아래 메소드를 수행! public String hello() { return "helloworld"; // helloworld.mustache 페이지를 반환! } } ``` #### ⭐️ 플러그인 4) 설치: "Ctrl + Shift + A" > "plugins" 검색 > Market place에서 "mustache" 검색 및 인스톨 ![클라우드스터딩-스프링부트-플러그인-설치-mustach](https://i.imgur.com/NvFlUBn.png) #### ⭐️ 뷰 만들기 5) 파일 생성: - resources/templates/helloworld.mustache 6) 코드 작성 ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>헬로 월드!</h1> </body> </html> ``` #### ⭐️ 결과 확인 7) 브라우저 접속: "localhost:8080/" ![클라우드스터딩-스프링부트-헬로월드](https://i.imgur.com/0RrWhhP.png) ## 훈련하기 --- - url 요청이 "localhost:8080/greetings" 일 때, 아래와 같은 결과를 만드시오. ![클라우드스터딩-스프링부트-컨트롤러-뷰-훈련1](https://i.imgur.com/G2PL9pi.png) - url 요청이 "localhost:8080/welcome" 일 때, 아래와 같은 결과를 만드시오. ![클라우드스터딩-스프링부트-컨트롤러-뷰-훈련2](https://i.imgur.com/yTiDEJ3.png) ## 면접 준비 --- + 아래의 키워드를 사용하여, 웹 서비스의 동작 방식을 설명하시오. - 클라이언트 - 서버 - 요청 - 응답 - http - url - 컨트롤러 - 뷰