본문 바로가기

프로그래밍/JSP

[JSP 요약 정리] 14. MVC 패턴(Model-View-Controller Pattern)

14. MVC 패턴(Model-View-Controller Pattern)

1) 모델1 구조

- JSP를 이용한 단순한 모델

- 웹브라우저의 요청을 JSP가 직접 자바빈 클래스와 서비스 클래스를 이용해서 처리


2) 모델2 구조

- 웹 브라우저의 요청을 한 서블릿이 받아 로직 클래스를 통해 처리 후 JSP 페이지로 포워딩


3) MVC 패턴

- 비즈니스 로직을 처리하는 모델과 결과 화면을 보여주는 뷰를 분리

- 어플리케이션의 흐름 제어나 사용자의 처리 요청은 컨트롤러에 집중

- 모델: 비즈니스 영역의 로직 처리

- 뷰: 비즈니스 영역에 대한 뷰를 담당

- 컨트롤러: 사용자의 입력 처리와 흐름 제어를 담당


4) 커맨드 패턴 기반의 코드

- 커맨드 패턴: 명령어 처리 클래스를 별도로 작성하는 것

- 웹브라우저의 요청을 판단하기 위해 명령어를 사용

- 명령어 전달 방법: 파라미터로 전달, 요청 URI 자체를 명령어로 사용

- CommandHandler 인터페이스를 상속받아 커맨드 클래스 작성

- 커맨드 클래스의 작업 순서

명령어 로직 처리 -> 뷰 페이지에서 사용할 정보 저장 -> 뷰 페이지의 URI 리턴


5) 요청 URI를 명령어로 사용

- 파라미터로 명령어를 받을 경우 컨트롤러의 URL이 사용자에게 노출되어 보안성 약화

- URL의 일부를 명령어로 사용하면 URL 자체로 기능 설명도 되고 보안성이 강화된다.

- 특정 확장자(ex. do)를 가진 요청을 컨트롤러가 처리하기 위해 web.xml에 내용 추가

<servlet-mapping>

<servlet-name>ControllerUsingURI</servlet-name>

<url-pattern>*.do</url-patter>

</servlet-mapping>