목차

    불편함을 코드로 지웁니다.

    개발 공부 노트, 개발 도구와 문제를 해결한 과정, AI 프롬프트와 Obsidian 활용법을 정리합니다.

      ⏳ Time Log/TIL · 하루

      Day 19 (11/13) - JSP 심화

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

      📝 오늘의 강의 요약

      핵심 키워드: Docker 관리, Oracle SQL DML, JSP 예외 처리(500 에러), JavaScript BOM 객체

      • DB/Docker: 중단된 오라클 컨테이너 재시작 및 SQL 기본 데이터 타입과 제약 조건 학습
      • JSP: DB 연동 중 발생하는 NumberFormatException 원인 분석 및 해결 방법 파악
      • JavaScript: 브라우저 객체 모델(BOM)인 window, location, history 및 타이머 함수 실습

      🐳 Docker 및 Oracle SQL 관리

      1. Docker 컨테이너 운용

      • 컨테이너 확인: docker ps -a 명령어로 과거 실행 내역 및 ID 확인
      • 컨테이너 재시작: docker start [Container_ID]를 통한 오라클 서버 가동
      • 데이터 확정: 데이터 입력 및 수정 후 commit; 명령어를 통한 실제 DB 반영 필수

      2. SQL 데이터 타입 및 DML

      • 주요 DML: SELECT(조회), INSERT(삽입), UPDATE(수정), DELETE(삭제)
      • 데이터 타입 요약:
        • NUMBER(n): 수치 데이터
        • CHAR(n): 고정 길이 문자 (학번, 우편번호 등)
        • VARCHAR2(n): 가변 길이 문자 (주소, 이메일 등)
        • DATE: 날짜 및 시간 정보
      • 제약 조건: Primary Key를 활용한 데이터 무결성 보장 및 중복 방지

      ⚠️ JSP 트러블슈팅 (에러 로그 분석)

      1. HTTP 상태 500 – 내부 서버 오류

      • 발생 원인: java.lang.NumberFormatException: Cannot parse null string
      • 상세 분석: request.getParameter("admin")으로 받은 값이 null인 상태에서 Integer.parseInt()를 수행할 때 발생
      • 해결 방안:
        • 전달되는 파라미터 명칭이 Form 태그의 name 속성과 일치하는지 확인
        • null 체크 로직 추가 또는 기본값 설정 처리 필요

      2. HTTP 상태 404 – 찾을 수 없음

      • 발생 원인: 요청한 경로에 파일이 없거나, 폴더 내에 기본 실행 파일인 index 파일이 부재할 때 발생

      📜 JavaScript 객체 및 BOM(Browser Object Model)

      1. 브라우저 내장 객체 활용

      • window 객체: 브라우저 창 제어 및 window.open()을 이용한 팝업 생성
      • setInterval / clearInterval: 특정 시간 간격으로 함수를 반복 실행하거나 중지
      • location 객체: 현재 URL 정보 확인 및 페이지 이동 제어
      • history 객체: 브라우저의 방문 기록(뒤로 가기, 앞으로 가기) 제어

      2. DOM 조작 및 함수

      • setAttribute: HTML 요소의 속성값(이미지 경로 등)을 동적으로 변경
      • 함수 스코프: 변수의 유효 범위 및 람다(화살표 함수) 표현식 이해
      • 내장 함수: Math.max() 등을 활용한 수치 계산 및 객체 데이터 맵핑(map)

      🛠️ 실습 메모 및 요약

      • JSP 프로젝트: web-study-08, 09를 통한 실무적인 회원 관리 시스템(DAO, DTO) 연동 실습
      • SQL 작성 팁: 스크립트 작성 후 Ctrl + Enter를 사용하여 개별 쿼리 즉시 실행
      • JS 스타일 제어: style.backgroundColor 등 자바스크립트를 이용한 실시간 UI 피드백 구현

      '⏳ Time Log > TIL · 하루' 카테고리의 다른 글

      Day 21 (11/17) - SQL 기초  (0) 2026.02.19
      Day 20 (11/14) - JSP/Servlet 파일 업로드 구현  (0) 2026.02.19
      Day 18 (11/12) - JSP 기초  (0) 2026.02.19
      Day 17 (11/11) - JavaScript 기초  (0) 2026.02.19