본문 바로가기
  • 개발공부 및 일상적인 내용을 작성하는 블로그 입니다.
Spring basic

스프링 입문 : 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 회원 웹 기능 : 홈 화면 추가

by 방구석 대학생 2021. 11. 8.

"인프런의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 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

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세

www.inflearn.com

 

 

홈 화면을 만들어보자.

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

- HomeController.java

@Controller
public class HomeController {

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

 - home.html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<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>

이후 어플리케이션을 동작시키고 localhost:8080 URL 로 접속하면 home.html 의 내용이 잘 출력되는 것을 확인할 수 있다.

home.html 출력 결과

정적 컨텐프에 대해 공부할 당시 서버측에 요청이 오면 스프링 컨테이너 안에 관련된 컨트롤러를 먼저 찾아보고, 찾는 경로가 존재하지 않을 경우 static 폴더를 찾는다고 했었다.

지금의 경우 localhost:8080 을 통해 요청이 왔을 때 가장 기본적인 "/" 경로에 매핑된 것이 있는지를 찾아보는데, 위에서 코드를 작성한 바와 같이 HomeController 에 "/" 경로로 매핑된 메소드가 존재하고 있다.

 

그 결과 이 메소드를 실행하면서 최종적으로 return 문에 적혀있는 "home" 문자열을 보고 templates 폴더에서 해당하는 파일을 찾은 다음 뷰 리졸버를 통해 랜더링 된 이후 결과를 화면에 뿌려주게 된다. 

그렇기 때문에 기존에 경로가 매핑된 뷰 파일만을 화면에 뿌려주고 static 폴더에 있는 index.html(Welcome Page) 파일은 무시되게 된다.

 

예제 홈 화면을 구성했으니 이제 화면에서 보이는 대로 회원 가입, 회원 목록 링크가 기능을 정상적으로 잘 수행하게끔 구현해보자.