Spring

FrontController 역할 수행
모든 URL 요청을 받는다
Web 계층에서 사용되는 객체를 생성/의존성 주입/ 관리하는 SPring Container를 생성해서 가지고 있다.
(HandlerMapping, ViewResolver, View, Controller, Interceptor, MultipartResolver, ...)
요청 URL과 컨트롤러 혹은 요청 URL과 요청핸들러 메소드의 매핑정보를 분석해서 DIspatcherSErvlet에게 제공한다.
스프링은 다양한 HandlerMapping 구현체를 제공한다.
기본 핸들러 매핑은 RequestMappingHandlerMapping객체다.
RequestMappingHandlerMappiung은 @RequestMapping, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping 어노테이션 정보를 분석해서 요청 URL과 컨트롤러 혹은 요청 URL과 요청핸들러 메소드의 매핑정보를 알아낸다
작성예)
@Controller
public class BoardController {
@RequestMapping(path="/board/list")
public String list() { ... }
@RequestMapping(path="/board/detail")
public String detail() { ... }
}
@Controller
@RequestMapping("/board")
public class BoardController {
@RequestMapping(path="/list")
public String list() { ... }
@RequestMapping(path="/detail")
public String detail() { ... }
}
@Controller
public class UserController {
@GetMapping("/register")
public String registerForm() { ... }
@PostMapping("/register")
public String registerUser() { ... }
}