** 📌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 실행 → 자원해제 |