SPRING 입문 [ 코드로 배우는 스프링 부트 ]

[스프링 입문] 섹션 5.1 웹 MVC 개발 (회원 웹 기능 - 홈 화면 추가)

wlalsu_u 2023. 1. 10. 08:48

5.1.1  회원 웹 기능 - 홈 화면 추가

 

앞서 섹션 3 에서 백엔드 개발한 회원 관리 예제를,

웹 MVC 로 개발해보고자 한다.

 

 

먼저, 홈 화면을 만든다.

 

홈 화면은 http://localhost:8080/ 에 접속했을 때 호출되는 첫 화면이다.

홈 화면에는 회원을 등록하고, 조회할 수 있는 버튼이 있다.

 

 

src  >  main  > java  > hello.hellospring >  controller 패키지

HomeController 클래스를 만들고, 다음과 같이 코드를 작성한다.

 

 

package hello.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {

    @GetMapping("/")
    public String home(){
        return "home";
    }

}

 

@Controller

 

- 스프링이 Controller 를 찾고, home에 매핑할 수 있도록 한다.

 

- home 을 return 하므로, home.html 파일로 이동한다.

 

 

 

 

 

src  >  main  >  resources  > template 패키지

home.html 생성하고, 다음과 같이 코드를 작성한다.

 

 

 

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>

<div class = "container">
    <div>
        <h1>Hello Spring</h1>
        <p>회원 기능</p>
        <p>
            <a href="/members/new">회원 가입</a>
            <a href="/members">회원 목록</a>
        </p>
    </div>
</div>

</body>
</html>

 

 

1) 회원가입

 

- http://localhost:8080/members/new 로 이동한다.

 

 

2) 회원 목록

 

http://localhost:8080/members 로 이동한다.

 

 

 

 

 

main 메소드를 실행하고, http://localhost:8080/ 에 접속한다.

 

다음과 같이 제대로 동작하는 것을 확인해 볼 수 있다.

 

 

 

 

 


 

5.1.2  회원 웹 기능 - 홈 화면 동작 순서

 

 

1) 스프링이 Controller 안에 관련 Controller 가 있는지 찾음 (HelloController)

 

2) 관련 Controller 가 없는 경우, static 파일을 찾음

    : 앞서 resources  >  static  의 html 파일이 welcome page 로 지정된 이유

 

2) Controller가 있는 경우, mapping 된 html 파일 열기 (home.html)

   : 이때, static 파일에 있던 기존의 welcome page는 무시된다.

    

 

 

 

 

 

 

 

 

 

김영한 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 기반으로 작성하였습니다.

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard