728x90
목차
- 스프링 MVC의 기본 구조
- 스프링 MVC의 Controller
1. 스프링 MVC의 기본 구조
- Model-View-Controller
- 대부분의 서블릿 기반 프레임워크들이 사용하는 방식
- 데이터와 처리, 화면을 분리하는 방식
- 스프링 MVC의 기본 사상
- 서블릿 기반이긴 하지만 한 단계 더 추상화된 수준의 개발 지향
- 서블릿 API없이도 개발이 가능한 수준
2. 스프링 MVC의 Controller
- Controller
- HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 필요한 기능 구현
- 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용 가능
- GET 방식, POST 방식 등 전송 방식에 대한 처리를 어노테이션으로 처리 가능
- 상속/인터페이스 방식 대신에 어노테이션만으로도 필요한 설정 가능
@Controller | 해당 클래스의 인스턴스를 스프링의 빈으로 등록하고 컨트롤러로 사용 <component-scan>과 같이 활용 ** 파라미터가 자동으로 수집된다. |
@RequestMapping | 특정한 URI에 대한 처리를 해당 컨트롤러나 메서드에서 처리 현재 클래스의 모든 메서드들의 기본적인 URL 경로 스프링 4.3이후에는 @GetMapping, @PostMapping등으로 간단히 표현 가능 |
- 추가 내용
(Model model) 데이터 전달자 |
Model 객체는 JSP에 컨트롤러에서 생성된 데이터를 담아서 전달하는 역할을 하는 존재 모델 2 방식에서 사용하는 request.setAttribute( )와 유사한 역할 |
@ModelAttribute | 컨트롤러에서 메서드의 파라미터는 기본자료형을 제외한 객체형 타입은 다시 화면으로 전달 @ModelAttribute는 명시적으로 화면에 전달되도록 지정 |
return "redirect:/"; | 화면에 한번만 전달되는 파라미터를 처리하는 용도 내부적으로 HttpSession객체에 담아서 한번만 사용되고, 폐기 |
ResponseEntity<> | HTTP헤더 정보와 추가적인 데이터를 전달할 때 사용 |
728x90
'🤯TIL > Spring' 카테고리의 다른 글
[게시판 만들기 - 3 ] 게시판 읽기 (0) | 2022.12.06 |
---|---|
[게시판 만들기 - 2 ] 게시판 목록 (0) | 2022.12.05 |
[게시판 만들기 - 1 ] 글쓰기 폼 만들기 / 글쓰기 저장 (0) | 2022.12.05 |
[코배스] Part 3-1. 기본적인 웹 게시물 관리 / 게시판 만들기 (0) | 2022.11.21 |
[코배스] Part 1. 스프링 개발 환경 구축 (0) | 2022.11.15 |