ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인프런 | 스프링 입문 - 회원 웹 기능
    JAVA/스프링 입문 2022. 7. 19. 23:56

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

     

    회원 관리 예제 - 웹 MVC 개발

    • 회원 웹 기능 - 홈 화면 추가
    • 회원 웹 기능 - 등록
    • 회원 웹 기능 - 조회

    회원 웹 기능 - 홈 화면 추가

     

    "홈 컨트롤러 추가"

    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";
        }
    }

     

    "회원 관리용 홈"

    <!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>

     

    회원 웹 기능 - 등록

     

    회원 등록 폼 개발

     

    "회원 등록 폼 컨트롤러"

    package yeonjy.yeonjyspring.controller;
    
    public class MemberForm {
       private String name;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }

     

    package hello.hellospring.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PostMapping;
    import hello.hellospring.domain.Member;
    import hello.hellospring.service.MemberService;
    
    @Controller
    public class MemberController {
    
        private final MemberService memberService;
    
        @Autowired
        public MemberController(MemberService memberService) {
            this.memberService = memberService;
        }
    
        @GetMapping("/members/new")
        public String createForm() {
            return "members/createMemberForm";
        }
        @PostMapping("/members/new")
        public String create(MemberForm form) {
            Member member = new Member();
            member.setName(form.getName());
    
            memberService.join(member);
    
            return "redirect:/"; // 홈 화면으로 보내기
        }
    }

    데이터를 조회할 때는 보통 get 사용

    데이터를 form같은 데에 넣어서 전달 할 때 보통 post 사용

     

     

    회원 웹 기능 - 조회

     

    "회원 컨트롤러에서 조회 기능"

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

     

    "회원 리스트 HTML"

    <!DOCTYPE HTML>
    <html xmlns:th="http://www.thymleaf.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>
    </body>
    </html>

     

     

Designed by Tistory.