FrontController
Spring의 구조 중에 하나
웹 애플리케이션에서 모든 요청을 한 곳(하나의 진입점)에서 먼저 받는 구조
보통 JSP/Servlet 환경에서는 FrontControllerServlet 같은 서블릿이 그 역할을 한다
핵심 개념
모든 요청을 단일 진입점에서 처리
공통 작업을 한 곳에서 처리할 수 있음
→ 예: 인코딩, 인증 체크, 로깅, 에러 처리 등
이후 해당 요청을 적절한 Controller(또는 Handler)에 분배(dispatch)


ex) 카페를 갔다. 점원이 3명
손님이 아아 주문 하면 만들고 제공
1:1 매핑 -> 비효율적임
1명은 계산&서빙
1명은 커피 만들고
1명은 뒷정이
V : 사용자
C : 직원
M : 키오스크
Spring은 효율적으로 해야겠다 함.
계산하고 서빙하는 사용자와 직접적으로 닿아있는 부분을 프론트 컨트롤러라고 한다

controller에서는 자바코드인데 자동완성도 안됨 => 불편하다
-> 그냥 자바에서 하자~
자바를 두 종류로 나눈다면
▪ POJO : DTO, DAO, Util
▪ not POJO : Servlet, 리스너, 필터
인데 어디서 작성을 할까?
컨트롤러.jsp를 컴파일하면 >> controller_jsp.java 파일이 되고 == 서블릿 파일이 된다
그래서 컨트롤러를 서블릿으로 만듦
Controller.java 서블릿 파일을 생성했다


17~21, 31~34 내가 컨트롤러 서블릿을 만들 때 나옴
이 페키지에 서블릿이 있어 너 /Controller 하면 나한테 와 -> *.do로 끝나면 나한테 와로 변경
<!-- Controller 시작은 컨트롤러가 하기 때문에 자바영역(스크립틀릿)으로 이루어져 있다 -->
<!-- 스크립틀릿 : 자바 코드가 실행되는 영역 -->
<!-- Page가 아님 -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false" %>
<%
// controller가 시작하는 것
// 이전 코드 >> response.sendRedirect("controller.jsp?command=MAINPAGE"); // get 방식
// command에 파라미터에 MAINPAGE값 세팅
// 이제 컨트롤러 서블릿으로 와야 하는데 jsp 부르고 있음
// 서블릿을 부르는 설정이 있다
response.sendRedirect("mainPage.do");
%>
인덱스에서는 이제 그냥 .do로 끝나면 되니까
메인페이지 보여줘 컨트롤러야~
파라미터가 없어 속도가 빠름
'JSP' 카테고리의 다른 글
| 커스텀 태그로 페이지 구조 가독성 향상시키기 (0) | 2025.12.01 |
|---|---|
| 🍓🍓 xml 파일 설정! | 디자인 패턴 4가지 (MVC, 싱글톤, 팩토리, 템플릿) (0) | 2025.11.27 |
| 🍄 JQuery 아이디 중복 확인하기 (0) | 2025.11.25 |
| DML(Data Manipulation Language) (0) | 2025.11.24 |
| GET 방식과 POST 방식 (0) | 2025.11.24 |