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
- coe필요서류
- set
- Java
- 크로스하우스
- SQL
- 해외송금
- SQLD
- 일본회사특징
- javascript
- jsp
- 일본재류자격
- jquery
- 일본it회사
- 일본어학원후기
- 일본개발자
- 모인
- 크로스하우스송금
- 전화일본어후기
- 일본개발자면접
- 일본출국준비
- coe타임라인
- 일본어 시제
- 일본회사내정
- 컬렉션리스트
- coe준비물
- list
- 크로스하우스모인
- map
- 일본회사합격
- 일본크로스하우스
Archives
- Today
- Total
분명 잔 것 같은데 졸리다
[JSP] Spring MVC, Mode1 vs Model2 본문
[ Spring MVC ] Spring 프레임워크에서 제공하는 웹 애플리케이션 개발을 위한 모듈
: Model-View-Controller(MVC) 아키텍처를 기반으로 함, 3가지 주요 부분으로 나누어 관리하며
각 부분의 역할을 분리하여 유지보수성과 확장성을 향상시킴 (유연하고 확장성 있게 웹 애플리케이션 설계)
Model (모델) | View (뷰) | Controller (컨트롤러) | |
역할 | 비즈니스 로직과 데이터 담당 (작업 처리 결과 데이터를 말함) |
Model을 이용하여 사용자(웹 브라우저 등)에게 보이는 화면에 리소스를 제공하는 역할 | URL 매핑과 요청 처리를 담당 (Model과 View의 중간에서 상호작용을 해주는 역할) |
동작 | 애플리케이션의 핵심 로직이 구현되는 곳 (데이터 처리, 검증, 저장 등) | 1. 모델에서 전달받은 데이터를 사용자에게 표시 2. 사용자의 입력을 컨트롤러에 전달 |
1. 클라이언트의 요청을 받음 2. 적절한 비즈니스 로직을 호출 3. 결과를 뷰 전달하여 사용자에게 응답 |
구현 | 주로 Java 객체로 표현 (화면에 표시될 데이터를 담고있음) |
주로 JSP, Thymeleaf등의 템플릿 엔진을 사용 (동적인 웹페이지 생성) |
주로 Spring의 @Controller 어노테이션을 사용하여 구현 (사용자 입력 처리, 그에 따른 적절한 메소드 호출 후 결과를 뷰에 전달) |
특징 및 장점 | - 유연성과 확장성 : 역할이 분리되어 관리되므로 개별적 변경 가능, 테스트 용이 - URL 매핑 : 간편한 컨트롤러 구현이 가능 - 데이터 바인딩과 검증 : 요청 파라미터와 모델 객체 간의 데이터 전달이 자동으로 처리됨, 검증 기능도 제공 - 중앙 집중화된 설정 : Spring의 IoC 컨테이너와 연동하여 설정 관리 제공 |
* Spring MVC 구조
- DispatcherServlet : 모든 HTTP Request(클라이언트 요청)를 받아서 처리하는 중앙 제어 Controller
요청을 적절한 핸들러에 전달, 그 결과를 받아서 적절한 view로 전달하여 응답 생성
(DispatcherServlet 클래스가 담당)
- Handler(Controller) : HTTP Request를 처리후 비지니스 로직 실행 후 Model에 전달, 사용할 View를 지정
(@Controller 어노테이션)
- ModelAndView : Controller에 의해 반환된 결과로 생성된 Model과 View를 함께 저장하는 객체
- ViewResolver : ModelAndView에서 지정한 뷰를 실제 뷰 객체로 변환, 물리적인 뷰 객체를 연결하는 역할
[ Model 1, 2 ] Java 웹 응용 프로그램의 아키텍처 패턴을 나타내는데 사용되는 용어
* 서버측이 비즈니스 로직과 클라이언측의 표현 로직을 어떻게 구성할지에 대한 아키텍처적인 접근방식
* JSP와 Servlet 기술을 사용하여 구현됨
Model 1 | Model 2 | |||
특징 | 비지니스, 표현 로직이 모두 JSP 페이지에 포함 | 비즈니스 로직과 표현 로직을 분리하여 관리 (MVC 패턴을 웹개발에 도입한 구조) |
||
동작 | 1. 클라이언트 요청 2. JSP에서 비즈니스 로직 처리 3. 클라이언트에게 결과 직접 전송 (JSP에서 view, logic 모두 처리) |
1. 클라이언트 요청 2. Servlet이 비즈니스 로직 처리 3. 결과를 JSP에 전달하여 표현 로직 담당 (JSP가 view(response page)에 대한 처리만 수행) |
||
단점 | 유지보수의 어려움, 코드의 복잡성 | 구조가 복잡, 개발시간 증가로 비용 증가 | ||
장점 | 구조가 단순하여 직관적 개발시간이 비교적 짧아 비용 감소 |
모듈화가 잘 되어있어 유지보수가 쉽고, 협업이 용이, 뛰어난 확장성 |
'FE > JSP' 카테고리의 다른 글
[JSP] 게시판 체크박스 다중삭제 구현 (JQuery,Ajax) (0) | 2024.03.12 |
---|---|
[JSP] 액션 태그(Action Tag) : JSP 코드를 HTML 태그와 같은 형태로 간단하게 사용하기 (0) | 2024.02.27 |
[JSP] 쿠키(Cookie) vs 세션(Session) (0) | 2024.02.26 |
[JSP] DTO, DAO (0) | 2024.02.26 |
[JSP] 내장 객체 및 영역 (0) | 2024.02.26 |