1️⃣ Servlet vs Action의 역할
구분역할
| Servlet | 웹 서버에서 요청(Request)을 받아서 처리하는 실제 엔트리 포인트. URL과 직접 매핑되어 있음. 예: /KakaoPayApproveServlet.do를 직접 호출하면 서블릿이 실행됨 |
| Action (FrontController 패턴) | 비즈니스 로직 처리만 담당. Servlet에서 바로 처리하는 대신, FrontController가 요청을 받아서 알맞은 Action에게 넘김. → 이렇게 하면 요청별 처리 코드를 여러 Servlet에 흩어놓지 않고 한 곳(FrontController)에서 관리 가능 |
즉:
- Servlet = 요청을 받는 “문”
- Action = 요청을 실제로 처리하는 “작업장”
2️⃣ 왜 파일이 자꾸 생기는지
- 원래는 KakaoPayApproveServlet 하나만 있어도 동작 가능
- 근데 FrontController + Action 패턴을 적용하려고 하면:
- FrontController.java → 모든 .do 요청을 받음
- KakaoPayApproveAction.java → 결제 승인 로직 처리
- ActionForward.java → 페이지 이동 정보를 담는 DTO
즉, 패턴을 적용하면서 파일이 늘어나는 것.
- 장점: 요청마다 Servlet을 새로 만들 필요 없음, 유지보수 쉬움
- 단점: 작은 프로젝트에서는 파일이 많아 보이고 헷갈림
3️⃣ 결론
- 작게 유지하고 싶으면 → 그냥 KakaoPayApproveServlet 하나만 쓰면 됨
- 확장성과 유지보수 고려 → FrontController + Action 패턴 사용, 파일 여러 개 생김은 정상
'JSP' 카테고리의 다른 글
| 카카오톡 결제 API를 사용하여 작은 결제 프로젝트 만들어보기 - 1 (0) | 2025.12.03 |
|---|---|
| a태그와 JSP 내장객체 pageContext (0) | 2025.12.02 |
| XML 설정과 어노테이션 (0) | 2025.12.01 |
| 커스텀 태그로 페이지 구조 가독성 향상시키기 (0) | 2025.12.01 |
| 🍓🍓 xml 파일 설정! | 디자인 패턴 4가지 (MVC, 싱글톤, 팩토리, 템플릿) (0) | 2025.11.27 |