본문 바로가기
3.1 SpringBoot/SpringBoot 강의정리

1-5 회원 관리 예제 - 웹 MVC 개발

by Dohi._. 2023. 5. 14.
728x90

목차 

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

2. 회원 웹 기능 - 등록 

3. 회원 웹 기능 - 조회

 

 

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


 

Homecontroller

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

제작후에 이제는 바로 컨트롤러에 맵핑된게 있으니까 정적.html이 안불러지고 

이제는 HomeController로인해 home.html이 불러옴

 

참고: 컨트롤러가 정적 파일보다 우선순위가 높다.


 


2. 회원 웹 기능 - 등록

 

회원 등록 폼 개발

회원 등록 폼 컨트롤러

@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";
 }
}

회원 등록 폼 HTML ( resources/templates/members/createMemberForm )

<!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>

회원 등록 컨트롤러

웹 등록 화면에서 데이터를 전달 받을 폼 객체

package hello.hellospring.controller;

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

회원 컨트롤러에서 회원을 실제 등록하는 기능

@PostMapping(value = "/members/new") 
public String create(MemberForm form) { 
	Member member = new Member(); 
	member.setName(form.getName());
	memberService.join(member); 
	return "redirect:/";  //홈화면으로 돌려보냄
}

 

@PostMapping

스프링 프레임워크에서 제공하는 애노테이션으로,

HTTP POST 요청을 처리하는 핸들러 메서드에 적용됩니다.
@PostMapping을 사용하여 요청 URL과 POST 메서드를 매핑하면 해당 요청이 발생했을 때

스프링은 해당 메서드를 실행하여 요청을 처리합니다.

 

또다른 예

@Controller
public class MyController {

    @PostMapping("/users")
    public String createUser(User user) {
        // POST 요청 처리 로직
        // ...
        return "redirect:/users";
    }
위의 예시에서createUser()메서드는 /users URL로의 POST 요청을 처리합니다.
요청이 발생하면 createUser() 메서드가 실행되며, User 객체를 인자로 받아 처리합니다.
메서드 내에서는 POST 요청을 처리하는 로직을 구현한 뒤, 결과에 따라 적절한 응답을 반환하게 됩니다

3. 회원 웹 기능 - 조회

 

회원 컨트롤러에서 조회 기능

@GetMapping(value = "/members") 

public String list(Model model) { 
	List members = memberService.findMembers(); 
    model.addAttribute("members", members); 
    return "members/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> <!-- /container -->
</body>
</html>

 

지금 까지의 문제점

현재 메모리에 저장하는 상태라 서버를 내리면 데이터는 바로 아웃 됌
이제부터 DB에 저장예정

 

 

 

728x90

'3.1 SpringBoot > SpringBoot 강의정리' 카테고리의 다른 글

1-7 AOP  (0) 2023.05.14
1-6 스프링 DB 접근 기술  (0) 2023.05.14
1-4 스프링 빈과 의존관계  (0) 2023.05.14
1-3. 회원 관리 예제  (0) 2023.05.14
1-2. 스프링 웹 개발 기초  (0) 2023.05.13

댓글