방명록
- [Spring] 스프링 입문 5) 회원 관리 예제 - 웹 MVC 개발2023년 10월 14일 17시 06분 20초에 업로드 된 글입니다.작성자: 민발자728x90
스프링 입문 - 스프링 부트 웹 MVC, DB 접근 기술
Session 5 회원 관리 예제 - 웹 MVC 개발
1. 회원 웹 기능 - 홈 화면 추가
1) 홈화면 추가
@Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } }
localhost:8080 주소로 들어가면 homeController의 home()이 호출이 되고 home.html을 웹브라우저에게 전달
▶ 컨테이너에서 관련 컨트롤러를 찾고 없으면 static 페이지, 있으면 컨트롤러가 호출되기 때문에 home.html이 뜬다
2. 회원 웹 기능 - 등록
1) 회원 등록 폼
memberController에 추가
// 등록 화면으로 이동 @GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; }
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>회원가입</title> </head> <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>
2) 회원 등록 컨트롤러
MemberForm class 생성
// 등록 화면에서 데이터를 전달 받을 객체 public class MemberForm { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
memberController에 추가
// 등록화면에서 전달받은 form 객체를 실제로 등록하는 기능 @PostMapping("/members/new") public String create(MemberForm form) { Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; // 홈화면으로 돌아감 }
get 방식 ▶ 웹페이지 주소를 입력해 들어가는 방식
post 방식 ▶ 데이터를 action url로 넘겨주는 방식
3. 회원 웹 기능 - 조회
1) 회원 조회 기능
memberController에 추가
@GetMapping("members") public String list(Model model) { List<Member> members = memberService.findMembers(); model.addAttribute("members", members); return "members/memberList"; }
<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>회원목록</title> </head> <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에서 model에 회원 리스트를 담아서 타임리프에게 전달
타임리프에서 ${model} 작성한 것은 model에 저장된 값을 꺼낼 수 있게 함
728x90'정리 > Spring' 카테고리의 다른 글
[Spring] 스프링 입문 7) AOP (0) 2023.10.15 [Spring] 스프링 입문 6) 스프링 DB 접근 기술 (1) 2023.10.15 [Spring] 스프링 입문 4) 스프링 빈과 의존관계 (0) 2023.10.14 [Spring] 스프링 입문 3) 회원 관리 예제 - 백엔드 개발 (0) 2023.10.14 [Spring] 스프링 입문 2) 스프링 웹 개발 기초 (0) 2023.10.14 다음글이 없습니다.이전글이 없습니다.댓글