일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- db
- 롤백
- 자바스크립트부모창새로고침
- mysql
- Applying css to JSP #How to use css in jsp
- 자바로또번호생성
- erd만들기
- Random
- er다이어그램
- 자바난수생성
- 팝업창닫기
- selet문if문
- jsp
- Math.random
- UPDATE문
- jsp include
- 자바스크립트
- Java
- 커밋
- 자바스크립트새로고침
- 데이터베이스
- INSERT구문
- MySqlWorkBench
- 트랜젝션
- select문
- 부모창새로고침
- ERD
- JSP에 CSS적용
- Today
- Total
CODING stroy
SpringMVC의 FrontController인 dispatcher-servlet의 동작원리 본문
SpringMVC의 FrontController인 dispatcher-servlet의 동작원리
클라이언트의 요청을 받아 컨트롤러에게 전달,
컨트롤러가 리턴한 결과값을 View에 전달하여 알맞은 응답을 생성하도록 한다.
dispatcher-servlet
어플리케이션으로 들어오는 모든 Reauest를 받는 관문
요청을 실제로 처리할 Controller에 전달하고
그 결과값을 받아서 view에 전달하여 적절한 응답을 생성할 수 있도록 흐름을 제어합니다.
사용이유 :
spring mvc dispatcherServlet 등장함에 따라
web.xml의 역할을 상당히 축소시켜주었습니다.
기존에는 모든 서블릿에 대해 URL매핑을 활용하기 위해서
web.xml을 모두 등록해주어야 했지만
dispatcher-servlet이 등장함에 따라
해당 어플리케이션으로 들어오는 모든 요청을 핸들링 해주면서
작업을 편리하게 할 수 있게 되었습니다.
HandlerMapping :
request URL이 각각 어떤 컨트롤러가 실제로 처리할 것인지 찾아주는역할
model, view : controller가 처리한 후
그 결과를 보여줄 view에 대한 정보를 담고 있는 객체입니다.
view : controller가 처리한 결과값을 보여줄 view
요약 :
웹브라우저(클라이언트)가 URL로 접근하면 DispatcherServlet에서
핸들러매핑에 해당요청을 매핑한 컨트롤러가 있는지 요청을 합니다.
그러면 핸들러매핑에서 컨트롤러로 요청을 처리합니다.
컨트롤러는 클라이언트의 요청을 처리하고 결과를 보여줄 view의 이름을 모델앤뷰로 리턴합니다.
모델엔뷰는 다시 DispatcherServlet으로 정보를 전달하고
DispatcherServlet은 해당 view를 뷰리졸버에 보내며
여기서도 검색결과를 view로 보냅니다.
view는 처리결과를 다시 DispatcherServlet으로 보내고
DispatcherServlet은 최종결과를 클라이언트(웹브라우저)에 출력합니다.
스프링 어노태이션 :
@를 이용한 주석으로 자바코드에 특별한 의미를 부여하는 것입니다.
프로그램 코드가 아닌 프로그램 및 코드에 정보를 추가하는 정형화된 방식
web.xml은
URL 경로와 해당 경로의 요청을 처리하는 서블릿 사이의 매핑을 정의합니다.
틀린 거 있으면 댓글로 고쳐주세요
읽어주셔서 감사합니다
'JAVA' 카테고리의 다른 글
JAVA 변수 (0) | 2022.08.06 |
---|---|
JAVA 난수 생성 방법 로또 번호 생성하기 (0) | 2022.08.06 |
JAVA 다형성과 상속 (0) | 2022.07.29 |
JAVA 오류 해결하기 Unresolved compilation problem: '<>' operator is not allowed for source level below 1.7 (0) | 2022.04.17 |
jstl 로 List 의 길이 알아내는 법 (0) | 2022.04.14 |