
→ 도메인별로 컨트롤러를 만든다
파라미터 받는 3가지: HttpServletRequest, @RequestParam, @ModelAttribute(커맨드 객체)
세션 관리 2가지: 직접 HttpSession vs. @SessionAttributes(Model→Session 자동)
정리는 invalidate()(전체) vs. setComplete()(@SessionAttributes만)
void 반환 = 경로기반 뷰, String 반환 = 지정 뷰

@Controller
public class FirstController {
@GetMapping("/first/regist")
public String regist(){
return "/first/regist";
}
}


@Controller
**@RequestMapping("/first")**
public class FirstController {
**@GetMapping("/regist")**
public String regist(){
return "/first/regist";
}
}
→ 접두사 같은 개념으로 클래스위에 중복되는 경로를 빼놓을 수 있다.
**@GetMapping("/regist")**
public void regist(){}
→ 핸들러 메소드에서 반환형이 없을 경우 요청경로를 반환한다.
<form action="/first/regist" method="post">
등록할 메뉴의 이름: <input type="text" name="name"><br>
등록할 메뉴의 가격: <input type="number" name="price"><br>
등록할 메뉴의 카테고리:
<select name="categoryCode">
<option value="1">식사</option>
<option value="2">음료</option>
<option value="3">디저트</option>
</select>
<br>
<button>등록하기</button>

리퀘스트 바디에 들어있는