티스토리 뷰

Web 개발

[Web] Spring Basic 5 - 웹 MVC 개발

코딩브론즈 2021. 12. 12. 21:35

1. 홈 화면 추가

- localhost:8080 을 입력하면 나타나는 홈 화면을 만들 것이다.

- 기존에 localhost:8080 를 입력하면 resources > static > index.html 을 보여줬다.

- 하지만 Controller에 해당 주소("/")를 매핑하면 우선순위가 Controller > static 이므로 home.html로 이동한다.

이전글(https://laugh4mile.tistory.com/186?category=919488) 참고.

 


 

2. 등록


- MemberController에 메소드 생성 + 관련 html 작성.

- MemberForm 클래스 생성. 이때 반드시 html의 input name="name"과 setter가 매칭되어야 한다.

- ex) name - setName, hello - setHello, sibal - setSibal ..

MemberForm.java

회원 등록 순서

  1. 홈 화면에서 "회원 가입" 버튼을 누를 경우 /members/new 를 호출한다.
  2. Controller에 해당 주소를 매핑하는 메서드가 존재한다. (createForm())
  3. createForm() 은 members > createMemberForm.html을 반환한다.
  4. createMemberForm.html 은 name이라는 key에 사용자가 input으로 입력한 값을 value로 갖는 데이터를 post 매핑 주소 /members/new로 넘긴다.
  5. 파라미터에 input으로 입력한 데이터가 MemberForm 객체로 넘어온다. 이전에 만들어 놓은 MemberService를 이용하여 회원가입 후 리다이렉트한다.

 

Question

어라? 매핑주소가 같은데요? 두 개를 혼동하는거 아니에요?

MemberController.java

Answer

NO!! @GetMapping과 @PostMapping이므로 주소가 같더라도 잘 찾아간다.

 


 

3. 목록 조회

- 모든 회원의 정보를 조회한다. 앞서 만들었던 memberService의 findMembers를 사용한다.

MemberController.java

- 이 때, Model을 사용하여 model에 Member리스트를 담고 memberList.html로 넘긴다.

- Thymeleaf 문법을 이용하여 화면에 member를 뿌린다.

memberList.html

 


 

꿀팁

Ctrl + E  를 누르면 최근에 봤던 목록을 볼 수 있다!

Ctrl + E 의 결과

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함