** 📌JSP 목차 **

✅ 전체 학습 흐름

1단계. JSP 기초

2단계. 웹사이트 구현 (JSP + Servlet + DAO + DTO + MariaDB)

3단계. 고급 심화 및 기술 면접 대비


✅ 1단계: JSP + 웹 기초 문법 이해

단계 주제 주요 학습 내용
1-1 웹 개발 기본 HTML/CSS/JavaScript 구조, JSP의 역할 이해
1-2 JSP 기본 문법 scriptlet, expression, declaration, directive, include
1-3 JSP 내장 객체 request, response, session, application, out 등 9개 내장 객체
1-4 폼 데이터 처리 GET/POST 방식으로 form에서 데이터 전달 받고 출력
1-5 조건문/반복문 JSP 사용 JSP 내에서 자바 코드 활용 (if, for 등)
1-6 JavaBean 기초 DTO 기본 구조, getter/setter, 데이터를 담는 객체 설계

✅ 2단계: 실전 웹사이트 구현 (입력 → DB 저장 → 출력)

단계 주제 주요 학습 내용
2-1 MVC 패턴 이해 JSP = View, Servlet = Controller, DAO/DTO = Model 구조 설계
2-2 Servlet 기초 doGet, doPost, request 처리, URL 매핑
2-3 DTO 설계 입력폼 데이터를 담는 Java 클래스 (getter/setter) 설계
2-4 DAO 설계 DB 접근 로직 (insert, select, update, delete) 구현
2-5 DBConnection 클래스 MariaDB 연결 클래스, 커넥션 풀 관리
2-6 MariaDB 연동 JDBC + MariaDB 연동, 테이블 생성, SQL 기본 문법
2-7 데이터 저장 흐름 구현 JSP → Servlet → DAO → DB 저장
2-8 데이터 출력 흐름 구현 DB → DAO → JSP 출력 (list.jsp)
2-9 데이터 수정/삭제 구현 수정 폼, 삭제 처리, URL 파라미터로 처리
2-10 유효성 검사 JavaScript + 서버 측 유효성 검사 병행
2-11 로그인 시스템 구현 로그인 폼, 세션 처리, 로그인 성공/실패 처리
2-12 관리자 페이지 구현 전체 리스트 출력, 관리 기능 (삭제, 권한 변경 등)

✅ 3단계: 고급 JSP 심화 + 기술 면접 대비

단계 주제 주요 학습 내용
3-1 SQL 보안 기법 SQL Injection 방지 (PreparedStatement), 유효성 검사
3-2 웹 보안 기초 세션 고정 공격 방지, 비밀번호 암호화 (SHA256/BCrypt)
3-3 JavaScript 심화 이벤트 처리, DOM 조작, Ajax로 서버 통신
3-4 JSP + Ajax 연동 비동기 요청 처리, JSON 응답으로 동적 데이터 처리
3-5 파일 업로드 구현 Multipart/form-data 처리, 서버 파일 저장 경로 처리
3-6 RESTful API 설계 Servlet URL 구조 RESTful하게 설계, Method 별 처리 방식
3-7 프로젝트 구조 리팩토링 기능별 패키지 분리, 유지보수 가능한 구조 설계
3-8 MVC 2 패턴 설계 View - Controller 완전 분리 구조 구현
3-9 기술 면접 대비 정리 JSP 동작 원리, DAO/DTO 차이, request/response 흐름, 세션/쿠키 차이 등
3-10 미니 포트폴리오 프로젝트 실제 포트폴리오용 프로젝트 1개 완성 (회원제 게시판, 리뷰 시스템 등)

✅ 부록: 기술 면접 예상 질문 리스트 (샘플)

면접 질문 확인할 개념
JSP와 Servlet의 차이는? 역할과 실행 구조
DAO와 DTO의 역할은? 데이터 분리 설계 원칙
GET과 POST 차이는? HTTP 요청 방식 비교
SQL Injection 방지 방법은? PreparedStatement 사용법
세션과 쿠키 차이는? 저장 위치, 보안 차이
MVC 패턴의 장점은? 유지보수, 역할 분리
JDBC 연결 순서? 드라이버 로딩 → 커넥션 → SQL 실행 → 자원해제