본문 바로가기
Back-End/Spring

4.회원 관리 예제 - 웹 MVC개발

by 두두리안 2020. 12. 28.
728x90

4.회원 관리 예제 - 웹 MVC개발

목차

  • 1.홈 화면 추가
  • 2.등록
  • 3.조회

1.홈 화면 추가

HomeControlle

@Controller
public class HomeController {

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

}
  • @GetMapping("/") = http://localhost:8080/ 을 의미한다
  • return "home" 은 templates-> home.html을 찾는다
  • templates에서 먼저 찾고 없으면 static를 찾는다 따라서 static->index.html은 우선순위에서 밀린다

2.등록

MemberController

    @GetMapping("/members/new")
    public String createForm(){
        return "members/createMemberForm";
    }
  • MemberController에서 @GetMapping 추가한다

MemberForm

public class MemberForm {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
  • MemberForm 을 만들어서 폼의 들어올 아이디를 넣어준다

MemberController

    @PostMapping("/members/new")
    public String create(Member form){
        Member member= new Member();
        member.setName(form.getName());

        memberService.join(member);

        return "redirect:/";
    } 
  • MemberForm을 이용해서 아이디를 가져오고 저장한다
  • @PostMapping 을 추가한다

templates -> members -> createMemberForm.html

<!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>
  • createMemberForm.html 을 만들어준다
  • 아이디를 저장하는 폼은 GetMapping 을 이용해서 보여준다
  • 아이디를 저장할때는 PostMapping 을 이용해서 저장한다

3.조회

MemberController

@GetMapping("/members")
    public String list(Model model){
        List<Member> members = memberService.findMembers();
        model.addAttribute("members",members);
        return "members/memberList";
    }
  • MemberController에 GetMapping을 이용한다
  • List를 이용해서 memberService.findMembers 값을 가져온다
  • addAttribute 는 view에다가 값을 넘겨준다 이때 addAttribute("Key","Value")을 의미한다

templates -> members -> 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>
  • members 을 이용해서 members의 전체값을 읽어온다
  • member.id 아이디를 가져온다
  • member.name 이름을 가져온다

참고자료

728x90

'Back-End > Spring' 카테고리의 다른 글

6.스프링 DB접근기술  (0) 2020.12.29
5.순수 JDBC 접근기술  (0) 2020.12.28
3.스프링빈과 의존관계  (0) 2020.12.28
2.회원관리 예제  (0) 2020.12.25
1.스프링부트 웹개발 기초  (0) 2020.12.25