DispatcherServlet

2023. 5. 26. 15:10· I leaned/스프링,스프링부트
목차
  1. 스프링부트에서는 Dispatcher서블릿등 앞단을 가렸다. 하지만 전체적인 구조는 알아야한다.
  2.  
  3.  
  4.  
  5. DispatcherServlet

스프링부트에서는 Dispatcher서블릿등 앞단을 가렸다. 하지만 전체적인 구조는 알아야한다.

컨트롤러를 디스패처에서 관리하기 위해서는 리플렉션을 알아야 한다.

리플렉션을 통해 클래스타입을 통일시켜야한다. 리플렉션을 통해 다형성

 

 

 

DispatcherServlet

 

  • 기본적으로 입력,처리,출력 서블릿이 여러개 존재한다
  • 공통 처리 부분을 DispatcherServlet을 통해 제거한다.
  • DispatcherServlet이 전처리를 해준다.

Spring MVC의 요청처리과정

  1. 요청이 들어오면 DispatcherServlet은 HandlerMapping한테 해당 URL에 대한 Handler Method 정보를  받아온다.
  2. HandlerAdapter를 통해 DispatcherServlet와 Controller을 느슨한 연결을 한다. -> 변경에 유리하도록 만듬
  3. HandlerMapping을 통해 받아온 정보로 이것을 누가 처리할 수 있는지 HandlerAdapter들에게 물어본다.
    ->  HandlerAdapter를 통해 어떤 Controller로 호출할지 결정
  4. DispatcherServlet가 해당 HandlerAdapter를 통해 Controller를 호출하고 뷰이름을 받아온다.
  5. DispatcherServlet가 InternalResourceViewResolver (servlet - context.xml)에 view이름을 넘겨주면 해당 이름에 접두사(/WEB-INF/views/)와 접미사(.jsp)를 붙혀 실제 뷰이름을 반환한다.
  6. DispatcherServlet이 해당 뷰를 호출하고 모델을 전달하면 해당 jsp 파일이 모델을 이용해 응답결과를 만들고 client에 응답을 해준다.
  7. jsp 파일은 JstlView가 처리한다.

 

DispatcherSerlvet.java 소스코드

'I leaned > 스프링,스프링부트' 카테고리의 다른 글

컨트롤러에 비즈니스로직을 넣으면 안되는 이유  (0) 2023.07.04
데이터의 변환과 검증  (0) 2023.05.30
예외처리  (0) 2023.05.25
세션(Session)  (0) 2023.05.24
쿠키(Cookie)  (0) 2023.05.24
  1. 스프링부트에서는 Dispatcher서블릿등 앞단을 가렸다. 하지만 전체적인 구조는 알아야한다.
  2.  
  3.  
  4.  
  5. DispatcherServlet
'I leaned/스프링,스프링부트' 카테고리의 다른 글
  • 컨트롤러에 비즈니스로직을 넣으면 안되는 이유
  • 데이터의 변환과 검증
  • 예외처리
  • 세션(Session)
윤재에요
윤재에요
윤재에요
yunzae.log
윤재에요
전체
오늘
어제
  • 분류 전체보기 (438)
    • Computer Science (115)
      • 데이터베이스 (50)
      • 네트워크 (18)
      • 소프트웨어 공학 (1)
      • 알고리즘 (10)
      • 자료구조 (9)
      • 컴퓨터구조 (0)
      • 운영체제 (0)
      • 데이터 통신 (16)
      • 프로그래밍언어론 (11)
    • Project (20)
      • 후크(Flutter) (1)
      • BDSR로그북(App,BackEnd) (2)
      • 나만의 주점(STM32,Arduino,androi.. (9)
      • 공다(App,BackEnd) (2)
      • 카카오쇼핑 클론코딩 (4)
      • 암호화폐자동매매 (2)
    • Problem Solving (208)
      • 자바 문법 (20)
      • 파이썬 문법,함수 (6)
      • 그리디 (5)
      • 구현 (43)
      • DFS (3)
      • BFS (17)
      • 정렬 (15)
      • 이진 탐색 (16)
      • 다이나믹 프로그래밍 (6)
      • 최단 경로 (5)
      • 그래프 (1)
      • 자료구조 (5)
      • 투포인터 (15)
      • SQL (44)
      • 구간합 (7)
    • I leaned (78)
      • 스프링,스프링부트 (31)
      • Git (6)
      • JAVA (5)
      • Etc (30)
    • 취업 (15)
      • PT면접 (6)
      • 기술면접 (9)
      • 인성면접 (0)
    • log (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

공지사항

인기 글

태그

  • 데이터베이스
  • 다이나믹프로그래밍
  • 먀
  • 이것이 코딩테스트다.
  • 카카오테크캠퍼스
  • 다익스트라
  • 힙큐
  • 이것이코딩테스트다
  • 개미전사
  • 계수정렬
  • 최단 거리
  • 재시도
  • 기수정렬
  • 그리디
  • 파이썬
  • 다이나믹
  • 교환정렬
  • Relationship model
  • DP
  • 참조 무결성
  • UML
  • 이것이 코딩테스트다
  • 효율적인화폐구성
  • 부품찾기
  • 제약 사항
  • 최단거리
  • E-R Model
  • 다이어그램
  • 플로이드 워셜
  • weak entity

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
윤재에요
DispatcherServlet
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.