[한화시스템 BEYOND SW캠프] 22기 8주차 회고

dev_ho·2025년 12월 21일

🗓️12월 3주차 (8주차) 회고록 ✨

8번째 주차별 회고이다. 이번 주에는 서블릿과 스프링의 기초를 학습하며 백엔드 구조를 익혔다


📝 KPT 회고 내용

1. KEEP (유지할 점) ✅

  • 학습한 이론을 개인 프로젝트(FoodInventory)에 즉시 적용하는 실습 습관 유지.
  • 교시별 학습 키워드 리스트 작성을 통해서 당일 수업에 어떤걸 배웠는지 떠올리기 용이하게 하기.

2. PROBLEM (문제점) 🛑

  • 템플릿의 가독성이 낮아 기록을 찾아보기 번거로움. 개인 페이지 레이아웃 개편 예정
  • 기록의 효율성: 수업 중 모든 내용을 적기보다 핵심 흐름과 요약 위주로 기록하는 훈련이 더 필요함.

3. TRY (시도할 점) 🚀

  • 단순 기능 구현에서 벗어나 확장성을 고려해 학습용 프로젝트 진행해보기
  • 배운 내용을 개념 중심으로 요약(분류화)해서 정리하기

이번주 학습한 내용 정리 (중요)

01. 서블릿 (Servlet) - 웹의 컨트롤러

  • 싱글톤 구조: 메모리에 단 하나의 객체만 생성하여 공유하므로 자원 효율성이 뛰어남.
  • 멀티스레드 모델: 요청마다 별도의 스레드가 생성되어 service()를 호출하므로 공유 자원 관리(Thread-safe)가 필수임.
  • 생명주기: init() 초기화 -> service() 로직 처리 -> destroy() 소멸 순으로 동작함.

02. GET vs POST - 데이터 전송의 핵심

  • GET: URL 뒤에 쿼리스트링(?key=value)으로 전달. 데이터 조회에 적합하며 캐싱이 가능함
  • POST: HTTP 본문(Body)에 데이터를 숨겨 Payload로 전송. 보안이 필요하거나 대용량 데이터를 보낼 때 필수임.

03. Forward vs Redirect - 페이지 전환의 원리

  • Forward: 서버 내부의 요청 위임. URL이 유지되며 Request/Response 객체를 공유함. (데이터 전달 및 화면 출력용)
  • Redirect: 브라우저에게 새 주소 접속을 명령. URL이 변경되며 새로운 Request 객체가 생성됨. (작업 완료 후 흐름 전환용)

04. 스프링 IoC 컨테이너 - 제어의 역전

  • IoC (Inversion of Control): 객체의 생성 및 관리 주도권을 개발자에서 프레임워크로 넘기는 설계 방식.
  • Bean 관리: ApplicationContext가 Bean의 생성부터 주입(DI), 소멸까지 생명주기를 전담함.

이번주 학습한 내용 정리 (참고)

01. Filter & Listener

  • Filter: 요청 전후 공통 로직 처리(인코딩, 보안). Wrapper를 사용하여 요청 객체 기능을 변조할 수 있음
  • Listener: Context, Session, Request 등 주요 객체의 상태 변화를 실시간 감지함.

02. JSP & EL & JSTL

  • JSP Elements: 지시자, 선언문, 스크립틀릿, 표현식을 통한 동적 페이지 구성.
  • EL/JSTL: 자바 코드를 대체하는 표현식(${ })과 표준 태그 라이브러리를 통해 화면 가독성 증대.

진행한 학습용 프로젝트

profile
새로운 기술에 열린 개발자

3개의 댓글

comment-user-thumbnail
2025년 12월 24일

잘하고 계십니다! 오히려 수업 내용들을 모두 적기보다 요약해서 적는 것이 더 어려운 난이도일겁니당 ㅎㅎ 어설프게 알고 있으면 요약하기도 어려울테니까요!
그래도 그 습관이 생겨서 나중에 빠르게 복습할 때도 도움이 되었으면 좋겠네요 ㅎㅎ
저희 수업 끝나고 나서 복습 시간에 더 자주 자주 만나요~!!

2개의 답글