Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- scanner
- If
- 인터페이스
- Else If
- extends
- 2차원 배열
- super()
- 삼항 연산식
- Break
- rs.next()
- 중첩for문
- 메소드
- Integer.MIN_VALUE
- interface
- docker
- 오버로딩
- javascript
- for문
- 자바
- 상속
- 이클립스
- 삼항 연산
- 배열
- 다형성
- 문자열
- 이중 배열
- jsp
- 상수
- arraylist
- Integer.MAX_VALUE
Archives
- Today
- Total
개발로드
☆KDT 2024-03-05★MVC(Model-View-Controller) 패턴 이해하기: 컨트롤러 구현과 활용 방법 본문
MVC의 구성 요소
1. Model
- 데이터를 처리하는 영역입니다.
- DAO(Data Access Object) 클래스와 데이터 구조를 표현하는 DO(Data Object, Entity) 클래스, DTO(Data Transfer Object)로 구성됩니다.
- 모델은 뷰나 컨트롤러에 독립적인 구조로, 데이터베이스 처리를 필요로 하는 여러 애플리케이션에서 공유할 수 있습니다.
2. View
- 화면 구성을 담당합니다.
- EL(Expression Language)과 JSTL(JSP Standard Tag Library)을 사용하여 컨트롤러로부터 전달된 데이터의 출력과 HTML/CSS 등을 통해 화면 디자인을 처리합니다.
- 뷰는 기본적으로 모델/컨트롤러와의 종속성이 없도록 구현되어야 합니다.
3. Controller
- MVC 패턴의 핵심으로, 모든 사용자 요청의 중심에 위치합니다.
- 사용자 요청에 따라 모델을 통해 데이터베이스와 연동하여 데이터를 처리하고 뷰에 전달합니다.
- 컨트롤러의 구현은 Servlet 또는 JSP로 가능하며, Servlet 기반의 구현을 권장합니다.
모델1 vs. 모델2
- 모델1: JSP로만 구현한 웹 애플리케이션으로, 웹 브라우저의 요청을 JSP 페이지가 받아서 처리하는 구조입니다.
- 모델2: 클라이언트의 요청 처리, 응답 처리, 비즈니스 로직 처리 부분을 모듈화한 구조로, 컨트롤러는 Servlet, 뷰는 JSP, 모델은 독립적으로 구성됩니다.
컨트롤러 구현 방법
- 사용자(Client) 요청마다 컨트롤러를 만들기: URL 요청 처리
- 특정 모듈 단위로 하나의 컨트롤러 안에서 여러 요청 단위를 구분해서 처리하기
- 프런트 컨트롤러를 따로 두어 모든 요청을 하나의 컨트롤러로 모은 다음 요청에 따라 구현 컨트롤러를 호출하기
컨트롤러의 기본 기능
- 사용자(Client) 요청 처리
- 입력값 핸들링
- 뷰 이동
- 데이터를 포함하지 않는 경우: response.sendRedirect("이동할 페이지")
- 데이터를 포함하는 경우:
- JSP의 경우: request.setAttribute("변수", 값); pageContext.forwared("이동할 페이지");
- Servlet의 경우: request.setAttribute("변수", 값); RequestDispatcher dispacher = request.getRequestDispatcher("이동할 페이지"); dispacher.forward(request, response);
- 스프링 프레임워크의 경우: @GetMapping("urlMapping이름") public String getMemberInfo(int id, Model model){ ... model.addAttribute("member",m); return "userInfo"; }
결론
MVC 패턴은 애플리케이션 개발 시 코드의 유지보수성을 높이고, 협업을 원활하게 하는 데 매우 유용한 디자인 패턴입니다. 특히 컨트롤러의 구현과 활용 방법을 잘 이해하고 활용한다면 더욱 효과적으로 개발할 수 있습니다.
이상으로 MVC 패턴과 컨트롤러의 구현 방법에 대한 블로그를 마치겠습니다. 추가적인 질문이나 의견이 있으시면 언제든지 댓글로 남겨주세요!
여유가 되신다면 제 GitHub에 오셔서 좋은 코드들을 구경해주세요!

https://github.com/gimpo5975?tab=repositories
gimpo5975 - Overview
gimpo5975 has 4 repositories available. Follow their code on GitHub.
github.com
'JAVA' 카테고리의 다른 글
| ☆KDT 2024-03-07★HTTP URI 메소드 공부 (0) | 2024.03.07 |
|---|---|
| ★KDT 2024-03-06☆미니프로젝트 관리자 페이지 요구사항 명세서 (0) | 2024.03.06 |
| ★KDT 2024-03-04☆JSP 자바 문자 변환 스트림 사용 예제 (0) | 2024.03.04 |
| ☆KDT 2024-03-04★JSP 미니프로젝트 서기_04 (0) | 2024.03.04 |
| ★KDT 2024-02-29☆Javascript 타이머제작 (0) | 2024.02.29 |