You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
package hello.hellospring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HomeController {
@GetMapping("/")
public String Home(){
return "home";
}
}
@GetMapping("/") : / 의 의미는 localhost로 들어오면 바로 띄워주는 것이라는 의미
return "home"; : home.html이 호출된다는 의미
정적 페이지인 index.html이 보여지지 않고, home.html이 보여지는 이유 ?
웹 브라우저에서 요청이 오면 우선 컨트롤러 부터 찾기 때문이다. (컨트롤러의 우선순위가 높다)
컨트롤러를 찾고 해당하는 컨트롤러가 존재하지 않는 경우에 정적 페이지를 찾게 된다.
회원 웹 기능 - 등록
MemberController에 코드 추가
@GetMapping("/members/new")
public String createForm(){
return "members/createMemberForm";
}
controller/MemberForm파일 생성
회원 등록을 하는 Controller을 만들어야함
package hello.hellospring.controller;
public class MemberForm {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
MemberController내에 코드 삽입
@PostMapping("/members/new")
public String create(MemberForm form){
Member member = new Member();
member.setName(form.getName());
memberService.join(member);
return "redirect:/";
}
MemberController내의 GetMapping, createForm 부분
URL에 직접치는 것은 Get 방식에 해당한다.
@GetMapping("/members/new")는 "localhost:8080/members/new"로 들어갔을 때, 맵핑하는 것을 의미한다.
이 코드 부분에서는 별 다른 수행은 없이 members/createMemberForm으로 이동하게 된다.
createMemberForm 파일 내에는 form 태그가 존재하고, 이때의 action과 method 속성을 주의해야 한다.
form 태그 내에는 input 태그가 존재하며 폼을 입력하고 등록 버튼을 클릭하면 action 속성에서 지정해준 URL에 POST 방식으로 입력된 값이 넘어가게 된다.
데이터를 폼 같은 곳에 넣어서 전달 할 때는 POST를 사용하고, GET은 조회에 사용한다.
MemberController내의 PostMapping, create 부분
위의 GetMapping과 같은 URL을 지정해주었고, PostMapping은 이 URL로 부터 데이터를 전달 받는다.
create 메소드가 호출되면서 매개변수인 MemberForm 객체를 통해 입력한 이름이 들어오게 된다.
setName을 통해 이름을 지정하고, getName을 통해 이름을 꺼내오는 방식이다.
회원 웹 기능 - 조회
MemberController.java 내의 코드 추가
@GetMapping("/members")
public String list(Model model){
List<Member> members = memberService.findMembers();
model.addAttribute("members", members);
return "members/memberList";
}
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
5_회원 관리 예제 - 웹 MVC 개발
이전에 만들어두었던 MemberController를 통해 회원을 등록하고 조회한다.
회원 웹 기능 - 홈 화면 추가
controller/HomeController.java파일 생성@GetMapping("/"): / 의 의미는 localhost로 들어오면 바로 띄워주는 것이라는 의미return "home";: home.html이 호출된다는 의미정적 페이지인 index.html이 보여지지 않고, home.html이 보여지는 이유 ?
웹 브라우저에서 요청이 오면 우선 컨트롤러 부터 찾기 때문이다. (컨트롤러의 우선순위가 높다)
컨트롤러를 찾고 해당하는 컨트롤러가 존재하지 않는 경우에 정적 페이지를 찾게 된다.
회원 웹 기능 - 등록
MemberController에 코드 추가controller/MemberForm파일 생성MemberController내에 코드 삽입MemberController내의 GetMapping, createForm 부분URL에 직접치는 것은 Get 방식에 해당한다.
@GetMapping("/members/new")는 "localhost:8080/members/new"로 들어갔을 때, 맵핑하는 것을 의미한다.이 코드 부분에서는 별 다른 수행은 없이 members/createMemberForm으로 이동하게 된다.
createMemberForm 파일 내에는 form 태그가 존재하고, 이때의 action과 method 속성을 주의해야 한다.
form 태그 내에는 input 태그가 존재하며 폼을 입력하고 등록 버튼을 클릭하면 action 속성에서 지정해준 URL에 POST 방식으로 입력된 값이 넘어가게 된다.
데이터를 폼 같은 곳에 넣어서 전달 할 때는 POST를 사용하고, GET은 조회에 사용한다.
MemberController내의 PostMapping, create 부분위의 GetMapping과 같은 URL을 지정해주었고, PostMapping은 이 URL로 부터 데이터를 전달 받는다.
create 메소드가 호출되면서 매개변수인 MemberForm 객체를 통해 입력한 이름이 들어오게 된다.
setName을 통해 이름을 지정하고, getName을 통해 이름을 꺼내오는 방식이다.
회원 웹 기능 - 조회
MemberController.java내의 코드 추가Beta Was this translation helpful? Give feedback.
All reactions