Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- aws #아키텍트 #과정 #vpc #인프라 구축 #퍼블릭 서브넷 #안에 #ec2 인스턴스 #ami #생성 #firewall
- mysql #linux #설정 #wordpress #웹사이트 #db 연결 #
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 인바운드 #아웃바운드 #방화벽설정
- sasac #aws 클라우드 #아키텍트 과정 #가상화 #vmbox #vmware #esxi #tar #selinux
- aws #아키텍트 #과정 #vpc #인프라 구축 #php #웹페이지 #http #public #instance
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #igw #curl #명령어 #http
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #route53 #igw #연결
- samba #가상머신 #daemon
- aws #아키텍트 #과정 #vpc #인프라 구축 #퍼블릭 #보안그룹 #생성 #http #ipv4
- 쓰레드 #쓰레드풀 #프로세스
- aws #아키텍트 #과정 #vpc #인프라 구축
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #internet gateway #연결
- aws #아키텍트 #과정 #vpc #인프라 구축 #public subnet #private subnet
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- haproxy #wordpree #php #linux #가상화 #가상머신 #내용정리
- 비트 #바이트 #이진수
- tar #build #배포 #통신포트 #설정방법 #linux #apache
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- storage #로컬스토리지 #세션스토리지 #백그라운드 서비스
- 프로세스 #CPU #시공유 #커널
- aws #아키텍트 #과정 #s3 #bucket #생성 #이미지업로드
- virtualbox #vmware #router #nat #pat #네트워크 구성도 #aws #ubuntu #
- aws #클라우드 #퍼블릭 클라우드 #아키텍트 #과정
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- ubuntu #설정변경 #vmware #vmbox #linux #명령어
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- oracle vmbox #rocky #linux9 #명령어 #암호화인증 #해시알고리즘
Archives
- Today
- Total
요리사에서 IT개발자로
스파르타 부트캠프 Spring Master 1강 Spring MVC와 Servlet이란 본문
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에서 MVC 디자인 패턴을 적용 및 HTTP 요청을 효율적으로 처리한다.
- 사용자가 Client를 통해 서버에 HTTP Request API를 요청
- 요청을 받은 Servlet 컨테이너는 HTTPServletRequest, HttpServletResponse객체를 생성한다.
- 설정된 정보를 통해서 무슨 Servlet에 대한 요청인지를 찾는다.
- 해당 Servlet에서 Service메서드를 호출하고 브라우저의 요청 Method에 따라 doGet혹은 doPost등의 메서드를 호출한다.
- 호출한 메서드들의 결과를 반환 혹은 동적페이지를 생성하여 HttpServletResponse 객체에 응답을 담아서 Client에 반환한다.
- 응답이 완료되면 생성한 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에서 작성하는 방법
- @Controller 에너테이션이 달려있는 클래스를 생성
- @GetMapping 처럼 요청한 HTTP Method와 일치하는 에너테이션을 추가한 메서드를 구현한다.
Controller 에서 DispathcerServlet로
- 해당 Controller는 요청에 대한 처리를 완료.
- 처리에대한 결과 Model과 View 를 전달한다.
DispathcerServlet에서 Client로
- ViewResolver을 통하여 View에 Model을 적용
- View를 Client에게 Response하여 전달한다.
Servlet(서블릿)은
자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램 혹은 그 사양을 뜻한다
https://hs-backend.tistory.com/87
반응형
'Spring' 카테고리의 다른 글
스파르타 부트캠프 Spring Master 1강 Path Variable과 Request Param (0) | 2024.05.17 |
---|---|
스파르타 부트캠프 Spring Master 1강 Jackson이란 (0) | 2024.05.17 |
스파르타 부트캠프 Spring Master 1강 테스트코드, JUnit (0) | 2024.05.14 |
스파르타 부트캠프 Spring Master 1강 HTTP (0) | 2024.05.14 |
스파르타 부트캠프 Spring Master 1강 Spring과 Spring Boot 차이, Postman 기능 (0) | 2024.05.14 |