⏳ Time Log/1. One Day (Daily · TIL)

Day 18 (11/12) - JSP 기초

this.Serena 2026. 2. 19. 00:02

📝 오늘의 강의 요약

핵심 키워드: 세션/쿠키/JWT, JSTL 라이브러리, Docker 기본 명령어, Oracle JDBC 연동

  • JSP: 상태 유지를 위한 세션 관리 및 JSTL 태그 라이브러리 활용법 습득
  • Docker: 컨테이너 환경 구축, 이미지 다운로드 및 포트 포워딩 실습
  • Database: 도커 기반 오라클 설치 및 Java 프로젝트와의 JDBC 연동 설정

☕ JSP 상태 관리 및 JSTL

1. 상태 유지 기술 비교

  • Cookie: 클라이언트(브라우저)에 저장되는 텍스트 파일
  • Session: 서버 측에서 사용자 상태를 관리하는 객체 (session.invalidate()로 무효화)
  • JWT (JSON Web Token): 토큰 기반 인증 방식으로 클라이언트에 저장하며 서버 부하 감소

2. JSTL (JSP Standard Tag Library) 설정

  • 설치: jstl.jar, standard.jar 파일을 WEB-INF/lib 폴더에 추가
  • 주요 태그:
    • <c:choose> / <c:when> / <c:otherwise>: Java의 switch 또는 다중 if문 역할
    • <c:forEach>: 배열이나 컬렉션의 요소를 순회하는 반복문

🐳 Docker & 컨테이너 제어

1. Docker 이미지 및 컨테이너 명령어

구분 명령어 기능 설명
이미지 docker pull [이미지명] 도커 허브에서 이미지 다운로드
  docker images 보유 중인 이미지 목록 확인
  docker image rm [ID] 특정 이미지 삭제
컨테이너 docker ps 현재 실행 중인 컨테이너 확인 (-a는 전체)
  docker run [옵션] [이미지] 컨테이너 생성 및 실행
  docker rm [ID] 중지된 컨테이너 삭제

2. 컨테이너 실행 옵션 분석

docker run -d -p 8081:80 --name myhttpd httpd

  • -d: 백그라운드 실행 (Background mode)
  • -p 8081:80: 호스트의 8081 포트와 컨테이너의 80 포트 연결
  • --name: 컨테이너에 고유 이름 부여

🗄️ Database & Oracle 연동

1. Oracle 환경 구축

  • 도커 활용: 도커를 통해 오라클 이미지 설치 및 실행
  • SQL Developer: 설치 후 jsp-connect 접속 설정 (ID: test / PW: 1234)
  • Primary Key: 테이블 내 레코드를 구분하는 고유 식별자 (중복 및 NULL 불가)

2. Eclipse JDBC 연동 설정

  • 드라이버 준비: ojdbc8.jar 파일 다운로드
  • 배치 경로: 프로젝트 내 WEB-INF/lib 폴더에 JDBC 드라이버 복사
  • 자동 완성 팁: Ctrl + Space를 사용하여 import 구문 누락 방지

🛠️ 실습 메모 및 팁

  • Docker 명령어 효율: 컨테이너 ID는 앞 3자리만 입력해도 식별 가능 시 삭제 및 제어 가능
  • JSTL 라이브러리: Apache Tomcat 환경에서 JSTL 기능을 쓰기 위해 라이브러리 파일 위치 확인 필수
  • DB 연동 주의: 8장은 오라클, 9장은 MySQL을 사용하므로 프로젝트별 드라이버 및 쿼리 문법 유의