LoGin
article thumbnail
반응형

 

 

Spring framwork를 사용한 mvc 프로젝트를 시작하기 앞서 프로젝트 폴더 구조를 알고 어떤 폴더에 컨트롤러(Controller), 어떤부분에서 모델(model)역할을 하고, 어떤 폴더안에 파일들은 뷰(View) 역할을 하는 파일들이 위치하는지 어느정도 인지하고있어야 mvc 프로젝트의 흐름이나 원할한 프로젝트를 진행하기위한 이해를 도울 수 있다.

물론 표준화돼서 다른 팀이나 프로젝트를 진행해도 같은 구조를 사용하니 익혀두면 좋다.

 

(프로젝트 펼쳤을때 사진)

 

 

 

프로젝트 구조


크게 나눈 프로젝트 구조

- 서블릿 관련 폴더

- 웹 관련 폴더

 

 

서블릿 관련 폴더는 스프링 프레임워크의 라이브러리나 자바 클래스 파일들(Controller), 기타 클래스나 유틸 클래스 등

src 폴더에서 관리를 합니다. 주요 컨트롤러들은 src/main/java에서 관리한다.

 

 

 

웹 관련 폴더는 말 그대로 웹과 관련된 코드들을 관리한다.

리소스(css, img, javascript (정적 리소스파)), JSP(폴더), MVC환경 설정 파일, 웹 프로젝트 환경설정 파일등 웹 관련 코드를 관리.

WEPI-INF 폴더 밑으로는 애플리케이션의 웹과 관련된 파일들을 관리하고, 스프링 관련 설정들이 들어가기때문에 분석해볼 필요가 있다.

 

 

 

 

 

 

 

 

프로젝트를 실행하게되면 일어나는 순서


1. 웹 브라우저에서 url요청을 전달받아 web.xml이 처리한다, web.xml 설정된 디스패처 서블릿 기반으로 URL 제어.

매핑한것을 토대로 서블렛태그로 역할을 한다.

 

 

2. servlet-context.xml 에서 <annotation-driven />을 통해 컨트롤러에 해당하는 클래스로 접근한다.

 

 

3. 클라이언트가 요청한 URL을 받아 return값으로 디스패처 서블릿에 반환해 JSP로 접근한다.

 

 

4.  컨트롤러에서 return한 뷰 이름을 참고하여 띄워줄 jsp 파일로 접근한다

 

 

5. JSP파일에 접근해서 클라이언트가 요청한 URL에 맞는 View를 웹 브라우저에 띄워준다.

 

이상 웹 브라우저를 통해 클라이언트와 스프링이 소통하는 방식을 알아봤다.

728x90
반응형
profile

LoGin

@LoGinShin

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!