Controller 세팅
회원 가입, 회원 등록, 회원 조회 기능을 각각 구현하였습니다.
@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:/";
}
// 회원 조회 기능
@GetMapping("/members")
public String list(Model model) {
List<Member> members = memberService.findMembers();
model.addAttribute("members", members);
return "members/memberList";
}
}
홈 화면 추가
localhost:8080 으로 접속하면 home.html을 보여줄 수 있도록 세팅하였습니다.
package com.example.hellospring2.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
@GetMapping("/")
public String home(){
return "home";
}
}
회원 등록 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>
data 등록할 때는 post 방식을 이용하고
data를 조회할때는 get 방식을 이용합니다.
동작 순서
1. members/new 주소에 접근했을 경우 members/createMemberForm 파일을 화면에 표시
2. form 형태에 고객이 회원 이름을 등록했을 경우 post 방식을 통해 정보를 전달
3. controller에서 @PostMapping을 통해 고객이 입력한 이름을 전달 받고 회원 등록
4. 홈 화면으로 이동
회원 조회 페이지 세팅
<!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>
'강의 > 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 카테고리의 다른 글
AOP (0) | 2022.04.06 |
---|---|
스프링 빈을 등록하는 2가지 방법 (0) | 2022.04.06 |
회원 Service 생성 및 Test (0) | 2022.04.06 |
회원 Repository 생성 및 Test (0) | 2022.04.06 |
스프링 웹 개발 (0) | 2022.04.06 |