2025-09-18

오늘 배운 것

Servlet

웹프로그램

  • 네트워크 너머 서버에서 동작하며 웹을 통해 서비스 제공
  • 구성:
    • Backend (비즈니스 로직)
    • Frontend (사용자 인터페이스)

Container와 Context

  • WAS(Web Application Server): 웹 애플리케이션 실행 환경 제공, Container라고도 함
  • Context: 각 애플리케이션의 실행 환경/정보
    • container root → WAS
    • context root → WAS 내부 애플리케이션

Maven

Maven 개요

  • Java 프로젝트 관리 도구
  • 주요 기능
    • 프로젝트 구조 표준화
    • 의존성 관리
    • 빌드 자동화

사용

  • pom.xml → 프로젝트 정보, 의존성, 플러그인 관리
  • <properties> → 버전 정보 재사용성 강화
  • 프로젝트 수정 시 Maven → Update Project

Servlet

Servlet 특징

  • WAS에서 실행되는 Java WebComponent
  • 장점
    • Java OOP 기반 → 유지보수성·재사용성·이식성
    • 멀티스레드 지원 → 높은 성능
    • 필터, 리스너 등 확장성
  • 단점
    • 비즈니스 로직 + 화면 로직 혼재 → JSP와 함께 Model2로 개선

요청 처리 과정

  1. 요청 파라미터 조회 (logging/validation 포함)
  2. 비즈니스 로직 처리
  3. Persistence 로직 연동 가능
  4. 응답 준비 (ContentType, Encoding)
  5. 응답 작성 (HTML 등)

URL Mapping

  • 클라이언트 요청 → Servlet 연결
  • 방식
    • 경로 지정: /hello/hi
    • 확장자 매칭: .do
  • 매핑 방법
    • web.xml (옛 방식)
    • @WebServlet 어노테이션 (최근 주로 사용)

Servlet Life Cycle

  • Container가 관리
  • 주요 메서드
    • init() : 자원 초기화
    • service() : 요청 처리 → doGet(), doPost() 호출
    • destroy() : 자원 정리

HttpServletRequest & HttpServletResponse

HttpServletRequest

  • HTTP 요청 정보 추상화 (헤더, 파라미터, 속성, 본문)
  • 요청 파라미터는 항상 문자열
  • HTTP Method
    • GET, POST, PUT, DELETE 등 → 멱등성 개념 적용

HttpServletResponse

  • HTTP 응답 정보 추상화 (헤더, 상태코드, 바디)
  • 주요 요소
    • Status Code (200, 404, 500 …)
    • Content-Type (text/html, application/json …)
    • Character Encoding (기본 ISO-8859-1 → UTF-8 설정 필요)

results matching ""

    No results matching ""