https://doingsomething.tistory.com/17
Spring Framework 3 - Spring MVC 구조와 처리과정
만들어진 스프링 프로젝트를 보기에 앞서, Spring MVC가 어떻게 요청을 처리하는지 알아본다. 대략적인 처리과정은 위 이미지와 같다. 대략적인 설명은 아래와 같습니다. 자세한 설명은 앞으로 올
doingsomething.tistory.com
이전 글에서 큰 틀에서 Spring MVC 처리과정을 살펴보았습니다. 이번 글에서는 이러한 처리과정이 어떤 방식을 통해 이루어지는지 프로젝트에 있는 파일들을 통해서 알아보겠습니다.
1.
가장 우선적으로 요청이 들어오면 web.xml로 요청이 전달됩니다.
그리고 web.xml에서 DispatcherServlet이 그 요청을 처리하기 위해서 appServlet폴더 밑에 있는 servlet-context.xml을 실행 시킵니다.
2.
여기서 HandlerMapping의 역할을 수행합니다. 즉 url 패턴에 맞는 컨트롤러는 찾습니다. 그리고 맞는 컨트롤러를 찾으면 return 값으로 돌아오는 view 파일 이름을 받아옵니다.
3.
받아온 view 파일 이름은 다시 servlet-context.xml로 돌아오고, 이번에는 ViewResolver 역할이 수행됩니다. 프로젝트를 생성할때 만들어진 prefix와 suffix로 view 파일 경로를 만들줍니다.
4.
이렇게 만들어진 view파일을 가지고 jsp파일이 실행되면서 클라이언트에게 보여지게 됩니다.
1 . web.xml 파일을 열어서 보면 초록생 상자 속에 servlet-context.xml의 파일 경로가 설정되어있습니다. 이걸 통해서 servlet-context.xml을 찾고 컨트롤러를 찾아달라는 처리를 보내게됩니다.
2. servlet-context.xml 파일을 열어보면 위에 붉게 표시된 부분이 annotation를 활성화 시키는 문장입니다.
annotation을 적고 url패턴과 전달방식(get, post)를 지정해주어야 컨트롤러로서의 기능을 할 수 있습니다.
3. url 패턴에 맞는 컨트롤러를 찾아서 실행된 후 받아온 view 파일 이름은 servlet-context.xml 속에 ViewResolver(두번째 붉은 상자)를 통해서 주소가 완성되게 됩니다. 예를 들어 컨트롤러에서 받아온 view 이름이 home이라면 prefix를 통해서 /WEB-INF/views/가 앞에 붙고,
suffix가 .jsp를 붙여주어 /WEB-INF/views/home.jsp로 완성시켜 줍니다.
4. 이렇게 완성된 주소로 home.jsp파일이 실행됩니다.
'TIL > Java & Spring Boot' 카테고리의 다른 글
묵시적 / 명시적 형 변환 (0) | 2022.08.03 |
---|---|
객체 지향 언어의 특징인 상속을 알아보자! (0) | 2022.04.13 |
Spring Framework 3 - Spring MVC 구조와 처리과정 (0) | 2021.04.06 |
Spring Framework 2 - 프로젝트 생성 및 기본 설명 (0) | 2021.04.05 |
Spring Framework 1 - 맥북에 STS 설치하기 (0) | 2021.04.05 |