<templates/home.html>
<!DOCTYPE HTML>
<html xmlns:th="<http://www.thymeleaf.org>">
<body>
<div class="container">
<div>
<h1>Hello Spring</h1>
<p>회원 기능</p>
<p>
<a
<a
href="/members/new">회원 가입</a>
href="/members">회원 목록</a>
</p>
</div>
</div> <!-- /container -->
</body>
</html>
<HomeController>
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";
}
}
컨트롤러가 정적 파일보다 우선순위가 높다
<MemberController.java>
package hello.hello_spring.controller;
import hello.hello_spring.domain.Member;
import hello.hello_spring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@Controller
public class MemberController {
private final MemberService memberService;
@Autowired
public MemberController(MemberService memberService) {
this.memberService = memberService;
}
@GetMapping("members/new")
public String createFrom(){
return "members/createMemberForm";
}
@PostMapping("members/new")
public String create(MemberForm form){
Member member = new Member();
member.setName(form.getName());
memberService.join(member);
//회원가입이 다 끝나면 홈화면으로 보내기
return "redirect:/";
}
}
@PostMapping("members/new")
public String create(MemberForm form){
Member member = new Member();
member.setName(form.getName());
System.out.println("member = " + member.getName());
memberService.join(member);
//회원가입이 다 끝나면 홈화면으로 보내기
return "redirect:/";
}
<MemberController.java>