목차

    ⏳ 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을 사용하므로 프로젝트별 드라이버 및 쿼리 문법 유의