[ 프로젝트 전체 구조 ]
# STS를 통해 간단하게 구현 가능한 구조
- java파일 : java파일들이 위치한다. 주로 패키지로 묶어서 관리한다. 웹 애플리케이션에서 사용되는 Controller, Service, Dao객체들이 위치한다
- webapp : 웹과 관련된 파일들(스프링 설정 파일, JSP파일, HTML 파일 등)이 위치한다
- resources : JSP파일을 제외한 html, css, js 파일등이 위치한다
- spring 폴더 : 스프링 컨테이너를 생성하기 위한 스프링 설정파일이 위치한다
- views 폴더 : View로 사용될 JSP파일이 위치한다
- pom.xml 파일 : 메인 레퍼지토리에서 프로젝트에 필요한 라이브러리를 내려받기 위한 메이븐 설정 파일
# web.xml
웹 애플리케이션에서 최초 사용자의 요청이 발생하면 가장 먼저 DispatcherServlet이 사용자의 요청을 받는다
따라서 개발자는 DispatcherServlet을 서블릿으로 등록해주는 과정을 설정해 주어야 한다
그리고 사용자의 모든 요청을 받기 위해서 서블릿 맵핑 경로는 '/'로 설정한다
# DispatcherServlet
사용자의 모든 요청을 DispatcherServlet이 받은 후 HandlerMapping 객체에 Controller 객체 검색을 요청한다
그러면 HandlerMapping 객체는 프로젝트에 존재하는 모든 Controller 객체를 검색한다
HandlerMapping 객체가 Controller 객체를 검색해서 DispatcherServlet 객체에 알려주면
DispatcherServlet 객체는 다시 HandlerAdapter 객체에 사용자의 요청에 부합하는 메서드 검색을 요청한다
그러면 HandlerAdapter 객체는 사용자의 요청에 부합하는 메소드를 찾아서 해당 Controller 객체의 메서드를 실행한다
Controller 객체의 메소드가 실행된 후 Controller 객체는 HandlerAdapter 객체에 ModelAndView 객체를 반환하는데
ModelAndView 객체에는 사용자의 응답에 필요한 데이터 정보와 뷰 정보(JSP파일)가 담겨 있다.
다음으로 HandlerAdapter 객체는 ModelAndView 객체를 다시 DispatcherServlet 객체에 반환한다
# servlet-context.xml
서블릿으로 등록 될 때 contextConfigLocation 이름으로 초기화 파라미터를 servlet-context.xml로 지정하고 있는데
이때 지정된 servlet-context.xml 파일이 스프링 설정의 역할을 하는 파일이다
프로젝트에 필요한 객체(bean)를 생성하고 조립한다
# Controller
# View
클라이언트 요청 정보(URL 맵핑 값)에 해당되는 JSP 파일 실행
'TIL > Spring' 카테고리의 다른 글
Service & Dao 객체 구현 (0) | 2021.08.18 |
---|---|
STS를 이용하지 않은 웹 프로젝트 설정하기 (0) | 2021.08.18 |
웹 프로그래밍 설계 모델 (0) | 2021.08.17 |
어노테이션을 이용한 스프링 설정 (0) | 2021.08.17 |
생명주기(Life Cycle) (0) | 2021.08.17 |