JSP 프로젝트, 어떻게 돌아가는 걸까?
이 수업 자료는 Eclipse + Maven 환경에서 JSP 프로젝트를 처음 만드는 학생을 위한 것입니다. 서버가 URL을 받으면 어떤 파일이 열리는지, 에러는 왜 나는지, 세 사람이 어떻게 동시에 한 프로젝트를 만드는지를 다룹니다.
이번 수업에서 다루는 세 가지
1. URL 라우팅
localhost:8081/test/ 뒤에 /, /login, /board 를 붙였을 때
서버는 어떤 JSP 파일을 고를까? Controller가 교통정리하는 과정을 직접 시뮬레이션해봅니다.
2. 404 · 500 에러
없는 주소로 가면 404, 서버 코드가 터지면 500. 왜 갈라지는지, 어떻게 재현되는지 버튼 하나로 직접 눌러보면서 감을 잡습니다.
3. 팀 협업 흐름
Frontend · Backend · DB 세 사람이 서로 완성품을 기다리지 않고 동시에 개발하는 법. 로그인 기능을 예시로 Day 1부터 Day 5까지 각자 무엇을 만드는지 따라가봅니다.
수업 환경 (공통 전제)
- IDE: Eclipse IDE for Enterprise Java and Web Developers
- 빌드 도구: Apache Maven (Maven Project 템플릿)
- 뷰: JSP + JSTL
- 매퍼: MyBatis (SQL Mapper Framework)
- DB: MariaDB 또는 PostgreSQL 중 팀 결정
- 서버: Apache Tomcat 9.x, 로컬 포트
8081
8080이 다른 용도로 잡혀있는 경우가 많습니다.
Tomcat 포트를 8081로 바꿔두면 충돌 없이 바로 실행할 수 있어서 이 자료도 그 기준을 따라갑니다.
전체 흐름 한눈에 보기
세부 페이지로 들어가기 전에, 수업 전체가 답하려는 질문 세 가지를 먼저 봅시다.
Q1. 주소를 치면 누가 먼저 받지?
Tomcat → web.xml → Servlet(Controller) → RequestDispatcher → JSP. 이 체인을 머릿속에 그릴 수 있어야 합니다.
Q2. 에러는 언제, 왜 생길까?
매핑 없는 URL은 404, 내 코드 안에서 터지는 예외는 500. 구분할 줄 알아야 디버깅이 시작됩니다.
Q3. 남의 코드를 기다리지 않으려면?
Front는 Mock 데이터로, Backend는 Interface로, DB는 쿼리 단위로 각자 진도를 빼는 전략을 익힙니다.