전체적인 구조 정리

jungnoeun·2022년 7월 15일
0

jsp

목록 보기
7/14
post-thumbnail

MVC 기본구조

웹 프로젝트

web - 컨트롤러
service - 실제 서비스
repository - 저장소

-> 프로젝트 설계를 할때, service와 repository는 항상 동일하고 어떤 프로젝트이냐에 따라서 컨트롤러는 바뀔 수 있다. 앱 프로젝트의 경우 app - 컨트롤러가 적용된다.



<정적파일 요청&응답>

  • 컨트롤러에서 사용자가 요청한 파일을 바로 응답한다.



<동적파일 요청&응답>

사용자가 요청하면 컨트롤러에서 관련 메서드를 찾는다.
컨트롤러에서 필요한 "서비스"를 서비스에 요청한다.
서비스에서 필요한 데이터를 리파지토리에 요청한다.
리파지토리에서는 사용자의 요청에 따라 DAO 또는 네트워크에서 필요한 데이터를 가져온다.



네트워크 통신

  • 예1 )
    A 프로젝트 -요청--> B 프로젝트

  • 예2 )
    롤전적 검색 과정
    요청 -> 컨트롤러 -> 서비스 -> 리파지토리 -> 롤DB





사용자의 요청과 응답

사용자가 무엇을 요청했는지에 따라 응답이 달라진다.
즉, 요청에 따라 응답이 여러형태일 수 있다.

사용자에 따른 다른 응답 형태

사용자      <-----응답------ 컨트롤러
브라우저           HTML
핸드폰화면        JSON





정리

web - 컨트롤러 (HTML 리턴)       {app인 경우, app - 컨트롤러(JSON 리턴)}
service - 서비스
domain - 모델
domain - DAO (원래는 repository이다. 통신인 경우에는 DAO대신 네트워크이다.)

profile
개발자

0개의 댓글