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

Day 20 (11/14) - JSP/Servlet 파일 업로드 구현

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

📝 JSP 로그인 프로젝트 & 페이지 이동

로그인 기능을 구현할 때 가장 중요한 것은 서버 내부에서의 페이지 이동(Forward) 방식에 대한 이해입니다.

 

1. 페이지 이동(Forward)의 세 가지 표현법

이클립스 자바 코드와 JSP 태그에서 동일한 기능을 수행하는 세 가지 방식입니다.

  • 표준 방식: RequestDispatcher 객체를 활용한 명시적 호출
  • 체이닝 방식: 객체 생성과 호출을 한 줄로 연결하여 코드 간결화
  • JSP 액션 태그: 자바 코드를 쓰지 않고 XML 태그 형식으로 처리

2. RequestDispatcher 활용 팁

  • 이동 위치: request.getRequestDispatcher("경로")
  • 특징: 클라이언트의 주소창은 변하지 않으면서 서버 내부에서 데이터를 유지한 채 이동함

⌨️ 이클립스(Eclipse) 개발 생산성 단축키

 

1. 코드 생성 및 이동

  • Ctrl + 2 + L: 작성한 구문의 리턴 타입을 자동으로 인식하여 로컬 변수(Local Variable) 선언 및 할당
  • Alt + ↑ / ↓: 현재 선택된 줄을 위아래로 자유롭게 이동
  • Ctrl + Space: 클래스, 메서드 자동 완성 및 필요한 import 구문 생성 보조

2. SQL 파라미터(pstmt) 복사 팁

pstmt.setString(1, ...)과 같이 숫자가 하나씩 증가하는 코드를 복사할 때, 이클립스 자체에 숫자 자동 증가 기능은 없으나 컬럼 편집 모드를 활용하면 편리합니다.

  • Alt + Shift + A: 마우스로 수직 영역을 선택하여 여러 줄을 한 번에 편집(Column Mode)할 수 있음

3. 프로젝트 관리 및 자동화

  • Project Clean: 빌드 오류가 발생하거나 설정이 꼬였을 때 Project > Clean... 메뉴를 통해 캐시 및 컴파일 파일 초기화
  • UTF-8 자동 설정: Window > Preferences > Web > JSP Files > Encoding에서 ISO 10646/Unicode(UTF-8)로 설정해두면 파일 생성 시 자동 적용

🗄️ SQL 데이터 관리 및 테이블 수정

오라클 DB 연동 프로젝트에서 빈번하게 사용하는 DDL 및 DML 구문입니다.

1. 테이블 구조 변경 (ALTER)

이미 생성된 테이블의 컬럼 속성을 변경할 때 사용합니다.

SQL
 
-- member 테이블의 name 컬럼 크기를 30바이트로 변경
ALTER TABLE member MODIFY name VARCHAR2(30);

2. 조건 검색 및 데이터 수정 (SELECT / UPDATE)

특정 사용자를 식별하여 정보를 조회하거나 수정하는 핵심 쿼리입니다.

  • 데이터 조회: WHERE 절을 사용하여 특정 ID(somi)의 정보만 추출
  • 데이터 수정: 여러 컬럼(pwd, email, phone, admin)을 동시에 변경할 때는 쉼표(,)로 구분하며, 반드시 WHERE 절을 붙여 특정 행만 수정되도록 주의

🐳 Docker 환경 관리

  • 컨테이너 가동: docker start [오라클_컨테이너_ID] 명령어를 통해 중단된 오라클 인스턴스를 다시 활성화해야 이클립스에서 DB 연동 가능