*HTTP에서 GET, POST, PATCH 등을 메서드라고 부른다.
HttpServletRequest request 대신 @RequestParam 애노테이션 사용하여 요청 파라미터에 접근
@PostMapping("/register/step2") // HandlerMapping이 요청 url과 매칭되는 컨트롤러 검색해서 DispatcherServlet에 빈객체 전달?
public String handleStep2(
@RequestParam(value="agree", defaultValue = "false")Boolean agreeVal, Model model) {
//컨트롤러는 실행결과를 ModelAndView로 변환해서 리턴함
if(!agreeVal) {
return "register/step1";
//실행결과를 보여줄 뷰 이름에 해당하는 뷰 구현을 찾아주는 것을 ViewResolver가 처리
}
model.addAttribute("registerRequest", new RegisterRequest());
return "register/step2";
}
"agree" 요청 파라미터값을 읽어와 agreeVal 파라미터에 할당, 값이 없으면 "false" 문자열을 값으로 사용. 파라미터 값을 가져오면 agreeVal 데이터타입에 맞게 변환 지원
@GetMapping("/register/step2")
public String handleStep2Get() {
return "redirect:/register/step1";
}
"redirect" 뒤의 문자열이 "/"로 시작하면 웹어플리케이션을 기준으로 이동 경로를 생성한다.