[Spring] 회원 관리 예제 - 홈 화면 추가

    코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술(by 김영한) 강의를 바탕으로 정리한 내용입니다.

     

    1. 홈화면 추가

     

    HomeController

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

     

    resources/templates/home

    <!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> <!-- /container -->
    </body>
    </html>

     

     

    2. 등록

     

    MemberForm

    public class MemberForm {
        private String name;
    
        public String getName() { //단축키 : command + n
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }

     

    resources/templates/members/createMemberForm

    <!DOCTYPE HTML>
    <html xmlns:th="http://www.thymeleaf.org">
    <body>
    <div class="container">
        <form action="/members/new" method="post">
            <div class="form-group">
                <label for="name">이름</label>
                <input type="text" id="name" name="name" placeholder="이름을입력하세요"> 
            </div>
            <button type="submit">등록</button> </form>
    </div> <!-- /container -->
    </body>
    </html>

     

    MemberController

        @GetMapping("/members/new")
        public String createForm() {
            return "members/createMemberForm"; //createMemberForm.html 으로 이동
        }
    
        @PostMapping("/members/new") //데이터를 폼 같은데 넣어서 전달할 때 Post 사용
        public String create(MemberForm form) {
            Member member = new Member();
            member.setName(form.getName()); //MemberForm의 name에 값이 들어간 상태
            memberService.join(member);
            return "redirect/"; //회원가입이 끝나면 홈화면으로 돌려보냄
        }

     

     

    3. 조회

     

    memberList.html

    <!DOCTYPE HTML>
    <html xmlns:th="http://www.thymeleaf.org">
    <body>
    
    <div class="container">
      <div>
        <table>
          <thead>
          <tr>
            <th>#</th>
            <th>이름</th>
          </tr>
          </thead>
          <tbody>
          <tr th:each="member : ${members}">
            <td th:text="${member.id}"></td>
            <td th:text="${member.name}"></td>
          </tr>
          </tbody>
        </table>
      </div>
    </div> <!-- /container -->
    
    </body>
    </html>

     

    MemberController

        @GetMapping("/members")
        public String list(Model model) {
            List<Member> members = memberService.findMembers();
            model.addAttribute("members", members);
            return "/members/memberList";
        }

     

    실행)

     

    내 이름과 강사님 이름을 넣어보았다 ㅎㅎ!

    -> 메모리에 회원리스트를 저장했기 때문에 자바 실행을 중단하면 회원 정보가 다 날라간다!

     

    'Dev > 강의 정리' 카테고리의 다른 글

    [Spring] AOP  (0) 2022.01.24
    [Spring] 스프링 DB 접근 기술  (0) 2022.01.24
    [Spring] 스프링 빈과 의존관계  (0) 2022.01.22
    [Spring] 회원 관리 예제 - 백엔드 개발  (0) 2022.01.22
    [Spring] 스프링 웹 개발 기초  (0) 2022.01.22

    댓글