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>
'프로그래밍 > JSP' 카테고리의 다른 글
[JSP 요약 정리] 13. 표준 태그 라이브러리(JSTL) (0) | 2019.02.10 |
---|---|
[JSP 요약 정리] 12. 표현 언어(Expression Language) (0) | 2019.02.09 |
[JSP 요약 정리] 11. 세션(Session) (0) | 2019.02.09 |
[JSP 요약 정리] 10. 쿠키(Cookie) (0) | 2019.02.09 |
[JSP 요약 정리] 9.자바빈과 usbBean 액션 태그 (0) | 2019.02.09 |