KOSA Spring - MVC

채정윤·2025년 4월 16일

Spring

목록 보기
2/25

모델

🔹 모델1

  • 구성: JSP + JavaBeans (가끔 서블릿)
  • 흐름: 클라이언트 → JSP → 직접 처리 + 출력
  • 특징:
    • JSP가 모든 로직을 처리 (비즈니스 로직 + 프레젠테이션 로직)
    • 컨트롤러가 없음
    • 구조가 단순하고 빠르게 개발 가능 (소규모 프로젝트에 적합)
    • 유지보수가 어렵고, 재사용성과 확장성이 낮음

💡 예시:

<%
    String name = request.getParameter("name");
    out.println("안녕하세요, " + name + "님");
%>

🔹 모델2 (MVC)

  • 구성: JSP + 서블릿 + JavaBeans
  • 흐름: 클라이언트 → 서블릿(Controller) → 비즈니스 처리(Model) → JSP(View)
  • 특징:
    • Controller (Servlet) : 흐름 제어
    • Model (Java 클래스) : 데이터 처리 및 로직 담당
    • View (JSP) : 출력만 담당
    • 웹 애플리케이션을 역할에 따라 분리하는 구조
    • → 관심사 분리로 코드 관리가 쉬워지고 재사용성 증가!

💡 예시 흐름:

  1. 사용자가 /login 요청
  2. 서블릿(LoginController)이 요청을 받아서 서비스 처리
  3. 처리된 결과를 JSP로 포워딩 (loginResult.jsp)
  4. JSP는 데이터 출력만 담당

🔄 요약 비교

항목Model 1Model 2 (MVC)
구조JSP 중심Controller 중심
로직 위치JSP 안에 포함Controller/Model 분리
유지보수어려움용이
테스트/확장성낮음높음
개발 난이도쉬움약간 복잡
사용 사례간단한 앱, 프로토타입대규모 웹 애플리케이션

0개의 댓글