Search

회원 관리 예제 - 웹 MVC 개발

1. 회원 웹 기능 - 홈 화면 추가

간단한 홈 화면 관련 컨트롤러를 생성한다.
@Controller public class HomeController { @GetMapping("/") public String home(){ return "home"; } }
Java
복사
home.html도 만들어주고

2. 회원 웹 기능 - 등록

회원 가입가는 /members/new 주소로 보내기 위해서 컨트롤러에 이동할 수 있게 @GetMapping 추가
@GetMapping("/members/new") public String createForm(){ return "members/createMemberForm"; }
Java
복사
리턴되는 createMemberForm.html로 화면을 이동시켜준다.
회원 가입 페이지로 가면
createMemberForm.html에 form 태그가 있는데
form 태그는 값을 입력 할 수 있는 태그다.
<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>
HTML
복사
이름을 받을 수 있는 MemberForm.java 파일을 만들어준다
public class MemberForm { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
Java
복사
그리고 회원가입이 되도록
@PostMapping("/members/new") public String create(MemberForm form){ Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; }
Java
복사
MemberForm 매개변수에 html의 form 태그의 input 태그에서
<input type="text" id="name" name="name" placeholder="이름을 입력하세요">
HTML
복사
name="name" 의 name이 MemberForm의 name하고 맵핑되면서 들어오게 된다.
등록 누르면 메인화면으로 돌아온다.
등록됐는지 볼려면 회원 목록을 만들어서 확인해줘야한다.

3. 회원 웹 기능 - 조회

이제 조회하는 기능을 추가할건데
컨트롤러에
@GetMapping("/members") public String list(Model model){ List<Member> memvers = memberService.findMember(); model.addAttribute("members",memvers); return "members/memberList"; }
Java
복사
memberService.findMember();
Java
복사
를 쓰면 멤버를 다 갖고온다.
Command + E 누르면 최근 본 파일 목록창이 뜬다
memberList.html을 생성해주고
<tr th:each="member : ${members}"> <td th:text="${member.id}"></td> <td th:text="${member.name}"></td> </tr>
Java
복사
템플릿 엔진을 사용해서 members 객체를 for문 돌돗이 돌려서 데이터를 넣어서 반복해준다.
서버를 켜서 회원등록을 2번해주고 조회화면으로 가면

*참고