스프링 MVC와 Struts는 둘 다 웹 애플리케이션 개발을 위한 프레임워크
아키텍처:
스프링 MVC: 스프링 프레임워크의 일부로, 웹 계층을 구성하는 하나의 모듈입
스프링의 IoC(Inversion of Control)와 AOP(Aspect-Oriented Programming) 개념을 기반으로하며, 컴포넌트 간의 결합도를 낮추는 구조를 제공
Struts: Struts프레임워크는 웹 계층과 비즈니스 계층을 분리하는 구조를 가지며,요청기반 + 웹 계층을 주로 다루는 프레임워크, 요청 핸들러, 응답 핸들러, 태그 라이브러리의 세 가지 주요 구성 요소로 구성
컨트롤러 개념:
스프링 MVC: 컨트롤러는 @Controller 어노테이션으로 표시되며, 메서드 단위로 요청을 처리
메서드에서 반환되는 뷰 이름을 기반으로 뷰를 찾아 렌더링
Struts: 액션(Action) 클래스로 요청을 처리하며, 요청 매개변수와 해당 액션 클래스의 메서드를 매핑하여 처리
설정:
스프링 MVC: XML 또는 Java Config를 사용하여 빈(Bean) 설정 및 관리를 하며, IoC 컨테이너를 통해 컴포넌트들을 관리
Struts: XML 파일을 사용하여 설정 및 매핑을 수행하며, 액션 클래스와 뷰 간의 매핑을 정의
유연성:
스프링 MVC: 스프링의 다양한 모듈과 통합 가능하며, 웹 계층 뿐만 아니라 서비스 및 데이터 계층과도 연동이 쉽다
Struts: 주로 웹 계층에 초점을 맞춘 프레임워크, 다른 계층과의 연동보다는 웹 애플리케이션 개발에 특화
간결성:
스프링 MVC: 스프링의 강력한 IoC 및 DI(Dependency Injection) 기능으로 코드의 가독성 및 유지보수성을 높일 수 있다
Struts: 초기에는 XML 설정 파일을 많이 사용하여 설정이 복잡할 수 있으나, 최근 버전에서는 간편한 애노테이션 기반의 설정도 가능
스프링 MVC: 스프링 프레임워크와 함께 사용되며, 스프링의 다양한 모듈과 통합하여 사용할 수 있습니다.
Struts: 단독으로 사용되거나 추가적인 라이브러리와 연동하여 사용할 수 있다.
'의문점 공부하기 > 📌 Java' 카테고리의 다른 글
📌 XSS 공격이 무엇이고, 어떻게 피할 수 있을까!?!? (0) | 2023.08.21 |
---|---|
📌 SQL Injection을 피할 수 있는 방법은 뭐가 있을까?? (0) | 2023.08.18 |
📌 그렇다면 쿠키를 사용할 수 없을 때 세션을 대신 사용할 수 있을까!?!??!???? (0) | 2023.08.14 |
📌 세션 과정 알아보기 (0) | 2023.08.11 |
📌 세션과 쿠키의 차이는 ???? (0) | 2023.08.10 |