요청 매핑 어노테이션을 이용한 경로 매핑
@Controller 를 이용한 컨트롤러를 통해 요청을 처리하는데 요청 매핑 어노테이션을 사용해 수행할 요청 경로를 지정합니다.
@RequestMapping, @GetMapping, @PostMapping을 사용합니다. 여러개 사용이 가능하며 경로가 겹칠 경우 @RequestMapping으로 공통 경로를 지정한 후 각각 메소드에서 세부적으로 지정하여 따로 관리할 수 있습니다.
요청의 구분(Get,Post)
스프링 MVC는 별도 설정이 없으면 @RequestMapping에 지정된 경로를 매핑하고 @GetMapping/@PostMapping의 경우에는 해당 요청 방식에 대해서 처리합니다. 같은 경로여도 요청방식에 따라 다른 메소드를 수행 시킬 수 있습니다. 같은 경로여도 Get에서는 form페이지를 요청하고 Post에서는 입력 내용을 바탕으로 DB에 처리하는 등 다르게 수행 시킬 수 있습니다.
요청 파라미터 사용
1. HttpServletRequest를 직접 이용
HttpServletRequest는 request.getParameter()를 이용해 컨트롤러 메소드의 파라미터로 받아 직접이용하는 방법입니다.
2. @RequestParam 어노테이션 이용
메소드의 매개변수 앞에 @RequestParam(value="요청 파라미터이름")을 주어 요청 파라미터의 값이 메소드의 매개변수에 전달하도록 사용하는 방식입니다. value속성은 요청파라미터 이름이고 defaultValue는 기본값을 지정하고 required는 false가 아니라면 필수이며 없을 경우 익셉션이 발생하게 됩니다. 이어노테이션을 사용할 때 스프링의 핸들러 어댑터는 파라미터 타입에 맞게 String값을 변환 해주는데 개발자 타입은 개별적으로 변환해주어야 합니다.
리다이렉트
컨트롤러에서 리다이렉트 사용법은 'redirect:경로'를 뷰 이름으로 리턴하는 방법입니다. 이 경우 뷰 리졸버는 동작시키지 않고 사용자가 모르게 클라이언트에게 자동으로 리다이렉트한 경로를 요청하게 합니다. 이때 /로 시작한다면 어플리케이션을 기준으로 절대 경로를 구하고 아니면 상대 경로를 구하여 사용합니다.
'학습(구) > Spring 요약' 카테고리의 다른 글
| Spring - 메시지 처리 (0) | 2020.10.20 |
|---|---|
| Spring - 커맨드 객체 (0) | 2020.10.19 |
| Spring - MVC (0) | 2020.10.19 |
| Spring - DB (0) | 2020.10.19 |
| Spring - AOP (0) | 2020.10.18 |