Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

요리사에서 IT개발자로

스파르타 부트캠프 Spring Master 1강 Spring MVC와 Servlet이란 본문

Spring

스파르타 부트캠프 Spring Master 1강 Spring MVC와 Servlet이란

H.S-Backend 2024. 5. 15. 21:00

출처 : 스파르타 코딩클럽

 

MVC란 

Model -View- Controller의 약자


Model

데이터와 비즈니스 로직을 담당

데이터베이스와 연동하여 데이터를 저장, 불러오기 등의 작업을 수행


 View 

사용자 인터페이스를 담당

사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현한다.


Controller

Model과 View 사이의 상호작용을 조정 및 제어한다.

사용자의 입력을 받아 Model에게 전달, Model의 결과를 바탕으로 View를 업데이트 한다.

 

MVC패턴은 소프트웨어 구성요소를 분리하고 코드의 재사용성과 유지보수를 높인다.

Spring MVC란

Spring Web MVC는 Servlet API 기반으로 구축된 독창적 웹프레임워크.

 

Spring MVC는 중앙에있는 DispatcherServlet이 요청을 처리하기 위한 공유 알고리즘을 제공하는 

FrontController 패턴 중심으로 설계되어 있고 유연하고 다양한 워크플로우를 지원한다.

https://docs.spring.io/spring-framework/reference/web/webmvc.html

 

Spring Web MVC :: Spring Framework

Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. The formal name, "Spring Web MVC," comes from the name of its source module (spring-webmvc), but it is more commonl

docs.spring.io

 

Spring에서 MVC 디자인 패턴을 적용 및 HTTP 요청을 효율적으로 처리한다.

출처 : 스파르타 코딩클럽

  1. 사용자가 Client를 통해 서버에 HTTP Request API를 요청
  2. 요청을 받은 Servlet 컨테이너는 HTTPServletRequest, HttpServletResponse객체를 생성한다.
  3. 설정된 정보를 통해서 무슨 Servlet에 대한 요청인지를 찾는다.
  4. 해당 Servlet에서 Service메서드를 호출하고 브라우저의 요청 Method에 따라 doGet혹은 doPost등의 메서드를 호출한다.
  5. 호출한 메서드들의 결과를 반환 혹은 동적페이지를 생성하여 HttpServletResponse 객체에 응답을 담아서 Client에 반환한다.
  6. 응답이 완료되면 생성한 HttpServletRequest, HttpServletResponse 객체를 소멸한다.

출처 : 스파르타 코딩클럽

Front Controller

Client(브라우저)에서 HTTP요청이 들어오면 DispatcherServlet 객체가 요청을 분석한다.

DispatcherServlet 객체는 분석한 데이터를 토대로 Handler mapping 을 통해 Controller를 찾고 요청을 전달한다.

예시
GET/api/hello -> HelloController 의 hello()함수
GET/user/login -> UserController 의 login() 함수
GET/user/signup -> UserController 의 signup() 함수
POST/user/signup -> UserController의 registerUser()함수
Handler mapping 에는 API path와 Controller 메서드가 매칭되어 있다.

 

URL을 Controller에서 작성하는 방법

  1. @Controller 에너테이션이 달려있는 클래스를 생성
  2. @GetMapping 처럼 요청한 HTTP Method와 일치하는 에너테이션을 추가한 메서드를 구현한다.

 

Controller 에서 DispathcerServlet로 

  1. 해당 Controller는 요청에 대한 처리를 완료.
  2. 처리에대한 결과 Model과 View 를 전달한다.

DispathcerServlet에서 Client로

  1. ViewResolver을 통하여 View에 Model을 적용
  2. View를 Client에게 Response하여 전달한다.

Servlet(서블릿)은

자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램 혹은 그 사양을 뜻한다

 

 

 

https://hs-backend.tistory.com/87

 

스파르타 부트캠프 Spring Master 1강 테스트코드, JUnit

테스트 코드가 필요한 이유는사람도 실수를 한다.사람이 만든 코드가 Product(상품)화가 되기 전 소프트웨어가 예상한대로 결과를 내는지 필요하다.버그(bug)란소프트웨어가 예상치 못한 결과를

hs-backend.tistory.com

 

반응형