스프링 MVC - 웹 애플리케이션의 이해

2025. 4. 6. 02:05·Java & Spring/Spring

□ 웹 서버(Web Server)

  • HTTP 기반으로 동작
  • 정적 리소스 제공
  • 정적파일 HTML, CSS, JS, 이미지, 영상
  • ex) NGINX, APACHE

□ 웹 애플리케이션 서버(WAS - Web Application Server)

  • HTTP 기반으로 동작
  • 웹 서버 기능 포함 + 정적 리소스 제공 가능
  • 프로그램 코드를 실행해서 애플리케이션 로직 수행
    • 동적 HTML, HTTP API(JSON)
    • 서블릿, JSP, 스프링 MVC
  • ex) Tomcat, Jetty, Undertow

□ 서블릿(Servelet)

  1. 서버 TCP/IP 연결 대기, 소켓 연결
  2. HTTP 요청 메세지를 파싱해서 읽기
  3. POST 방식, /save URL 인지
  4. Content-Type 확인
  5. HTTP 메세지 바디내용 파싱
  6. 저장 프로세스 실행
  7. 비즈니스 로직 실행
  8. HTTP 응답 메세지 생성 시작
  9. TCP/IP에 응답 전달, 소켓 종료

※ 서블릿은 위 9의 과정 중 7. 비즈니스 로직 외 모든 과정을 지원해준다.

 

- 특징

  • urlPatterns(/url)의 URL이 호출되면 서블릿 코드가 실행
  • HTTP 요청 정보를 편리하게 사용할 수 있는 HttpServletRequest
  • HTTP 요청 정보를 편리하게 제공할 수 있는 HttpServletResponse

- 서블릿 컨테이너

  • 톰켓처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 함
  • 서블릿 컨테이너는 서블릿 객체를 생성, 초기화, 호출, 종료하는 생명주기 관리
  • 서블릿 객체는 싱글톤으로 관리
  • JSP도 서블릿으로 변환 되어서 사용
  • 동시 요청을 위한 멀티 쓰레드 처리 지원

'Java & Spring > Spring' 카테고리의 다른 글

스프링 MVC - 구조 분석  (0) 2025.04.14
스프링 MVC - 멀티 쓰레드  (0) 2025.04.06
Spring - Spring Security  (1) 2024.10.07
JPA - Querydsl 사용법 및 실습  (0) 2024.10.04
JPA - JPQL사용해보기  (2) 2024.10.02
'Java & Spring/Spring' 카테고리의 다른 글
  • 스프링 MVC - 구조 분석
  • 스프링 MVC - 멀티 쓰레드
  • Spring - Spring Security
  • JPA - Querydsl 사용법 및 실습
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 이론공부
        • 개념
        • 정보처리기사 필기
        • 정보처리기사 실기 기출
        • 네트워크관리사 2급
        • SQLD
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • 웹
      • git & github
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java 멤버
    java two-pointer
    java기초
    프로그래머스 java 기초 트레이닝
    데이터 크기
    프로그래머스 java 기초트레이닝
    java arrays.copyofrnage()
    java 유클리드 호제법
    자료구조
    java
    개발로드맵
    java super
    java enhance switch
    Java this
    Java 생성자
    java 메서드
    java 세수의합
    java 에라토스테네스의 체
    java 제어자
    데이터 타입
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
스프링 MVC - 웹 애플리케이션의 이해
상단으로

티스토리툴바