아줌마의 국비학원생활

[63일차] MVC 패턴

citygray 2023. 7. 17. 17:48

MVC 패턴

모델은 두가지로 구분한다.

1. Service : 서비스 처리를 하기 위한 내용으로 만 구현

2. DAO: 데이터베이스 처리에 관한 기능망으로 구성

 

DTO (Data Transfer Object): 데이터를 다른 logic에게 전송 및 반환할 때 효율적으로 데이터를 사용할 수 있게 클래스 작성

 

클라이언트가 보는 화면으로서 클라이언트로 부터 요청이 일어나서나 처리된 결과를 보여주는 페이지

 

컨트롤러

뷰에서 클라이언트가 서비스를 요청했을 때 실행되는 페이지이다. 컨트롤러 페이지는 서비스를 처리하는 메서드를 호출함으로써 클라이언트 요청과 서비스 처리 객체를 연결해주는 중계역할을 하면서 서비스 처리 흐름을 제어한다.

 

 

 

프런트 컨트롤러 디자인 패턴

대표 컨트롤러를 두고 뷰에서 들어오는 모든 요청을 담당하게 하면 웹애플리케이션을 실행하는 모든 요청을 일괄적으로 처리할 수 있다.

 

프런트 컨트롤러 설정

1. URL 패턴 지정

웹 애플리케이션 개발 전에 클라이언트의 요청 URL에 요청 패턴을 지정한다. 일반적으로 요청되는 URL의 끝에 특정 단어를 붙이는 방식인데, '~.do','~.action'과 같은 간어가 공통으로 들어가게 URL을 지정하는 것이다. 

 

FrontController 패턴을 적용한 서블릿에서 고려해야하는 사항은 사용자가 어떤 동작을 요청했는지를 식별할 수 있어야된다.  따라서 사용자가 서블릿에 요청할때, 다음과 같은 서블릿이 사용자의용청을 식별할 수 있도옥 지원한다.

 

http://서버IP번호:포트번호/context명/식별값

  

context명 - getContextPath()

식별값 - getRequestURI()

 

2. 프론트 컨트롤러 등록

만약 모든 요청 url끝에 공통으로 .do가 들어오도록 구현했다면, 이 요청에 대응하여 실행할 프런트 컨트롤러 클래스를 생성한 후에 다음과 같이 web.xml에 등록하면 프런트 컨트롤러로서 동작한다.

 

 

 

 

MVC 패턴 적용 게시판 예제

주소에서 context명 생략가능하게 tomcat에서 web 모듈 설정

 

Filter API

필터란 브라우저에서 서블릿에 요청하거나 응답할 때 미리 요청이나 응답과 관련해 여러 가지 작업을 처리하는 기능

 

요청 필터

- 사용자 인증 및 권한 검사

- 요청 시 요청 관련 로그 작업

- 인코딩 기능

 

응답 필터

- 응답 결과에 대한 암호화 작업

- 서비스 시간 측정