[스프링 입문] Section 05 - 회원 관리 예제(웹 MVC 개발)
카테고리: Spring-Tutorial
File Tree 참고하기
홈 화면
홈 컨트롤러를 추가해준다.
// HomeController.java
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";
}
}
Q) ‘/’ 요청 시, index.html 대신 hello.html이 호출되는 이유?
A) 컨트롤러가 정적 파일보다 우선순위가 높기 때문이다.
회원 등록
1) 웹 등록 화면에서 데이터를 전달 받을 폼 객체를 만들어야 한다.
// MemberForm.java
package hello.hellospring.controller;
public class MemberForm {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2) 회원 등록용 폼 컨트롤러 제작
// MemberController.java
@Controller
public class MemberController {
private final MemberService memberService;
@Autowired
public MemberController(MemberService memberService) {
this.memberService = memberService;
}
@GetMapping(value = "/members/new")
public String createForm() {
return "members/createMemberForm";
}
}
3) 회원 컨트롤러에서 회원을 실제 등록하는 기능을 구현
// MemberController.java
@PostMapping(value = "/members/new")
public String create(MemberForm form) {
Member member = new Member(); // 멤버를 생성하고
member.setName(form.getName()); // 폼으로부터 이름을 가져와 member의 이름을 설정하고
memberService.join(member); // memberService를 통해 생성한 member를 저장한다.
return "redirect:/"; // 회원 가입 완료 후 다시 home 화면으로 돌아가도록 만든다.
}
회원 조회
// MemberController.java
@GetMapping("/members")
public String list(Model model) {
List<Member> members = memberService.findMembers();
model.addAttribute("members", members);
return "members/memberList";
}
댓글 남기기