DEVELOPMENT/Spring

5. 회원 관리 예쩨 - 웹 MVC 개발

Tiny Commit 2025. 5. 12. 02:15

 

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

  • "homeController" class 생성
package hello.hello_spring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class homeController {

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

 

 

 

  • templates에 "home.html"을 생성
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleef.org">

<div class = "container">
    <div>
        <h1>Hello Spring</h1>
        <P>회원 기능</P>
        <p>
            <a href="/members/new">회원 가입</a>
            <a href="/members">회원 목록</a>
        </p>
    </div>
</div>


</body>
</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. 회원 웹 기능 - 등록

1. "MemberController.java" 수정

(...)

//2. 회원 웹 기능 - 등록
    @GetMapping("members/new")
    public String createFoem() {
        return "members/createMemberForm";
    }

 

 

 

 

2. templates에 "members" 폴더 만들기

  • "createMemberForm.html" 만들기 
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleef.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>
</body>
</html>

 

 

 

 

3. "MemberForm" class 만들기

package hello.hello_spring.controller;

public class MemberForm {
    
    private String name;
    
    public String getName(){
        return name;
    }
    
    public void setName(String name){
        this.name = name;
    }
}

 

 

 

 

4. "MemberController" 수정

(...)

//2. 회원 웹 기능 - 등록
    @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:/";
    }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. 회원 웹 기능 - 조회

1. "MemberController" 수정

// 3. 회원 웹 기능 - 조회
    @GetMapping("/members")
    public String list(Model model){
        List<Member> members = memberService.findMembers();
        model.addAttribute("members", members);
        return "members/memberList";
    }

 

 

 

 

 

 

2. "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>
</body>
</html>

 

 


출처 :  김영한, 『스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술』, 인프런 강의.

 

 

 

 

 

 

'DEVELOPMENT > Spring' 카테고리의 다른 글

7. 스프링 DB 접근 기술2  (0) 2025.05.25
6. 스프링 DB 접근 기술1  (0) 2025.05.25
4. 스프링 빈과 의존관계  (0) 2025.05.12
3. 회원 관리 예제 - 백엔드 개발  (0) 2025.05.12
2. 스프링 웹 개발 기초  (0) 2025.04.07