[스프링부트 #0] 웹 서버(Apache)와 WAS(Tomcat) 완전 이해 + 서블릿 프로젝트 시작하기

아파치와 톰켓의 헷갈리지 않도록 완벽 정리하였고, 서블릿 프로젝트 실습을 진행한 것을 정리하였습니다.
도경원's avatar
Aug 01, 2025
[스프링부트 #0] 웹 서버(Apache)와 WAS(Tomcat) 완전 이해 + 서블릿 프로젝트 시작하기

1. 프로젝트 만들기 (톰켓 설치 전.후)

톰켓 설치 전 후 프로젝트 만드는 과정은 사진을 참고한다.
notion image
notion image
notion image

2. 웹 서버 vs WAS 개념 정리

웹 서버 (Apache)

: 특정 폴더에 있는 정적 파일(.html, .css, .js 등)을 HTTP로 외부에 공유하는 서버

WAS (Tomcat)

: .jsp, Servlet(.java)동적 자바 코드 실행 결과를 응답해주는 애플리케이션 서버

브라우저

: 웹 서버 또는 WAS로부터 응답받은 HTML, CSS, JS 등의 문서를 해석하여 화면에 출력하는 프로그램

3. 파일 처리 흐름

파일 확장자
누가 처리?
설명
.html, .css, .js, .jpg, .png
Apache (웹서버)
요청된 파일을 그대로 전달
.jsp, Servlet(.java → .class)
Tomcat (WAS)
자바 코드 실행 → 결과 HTML로 변환 → 브라우저 전달
.java 파일은 브라우저나 서버가 직접 해석하지 않음
.jsp는 브라우저가 해석하지 못하지만, 서버가 HTML로 변환해서 전달

4. 웹 서버와 내 폴더 연결

  • 웹 서버의 역할:
    • 내 컴퓨터의 특정 폴더(예: /webapps/ROOT)에 있는 파일들을 외부에서 접근 가능하게 공유
  • 공유되는 파일 조건:
    • 브라우저가 해석 가능한 파일들 (.html, .css, .js, .png, ...)

5. 요청 방식의 차이

요청 형식
동작 방식
처리 주체
localhost:8080
포트번호만 입력index.html, welcome.jsp 등 기본 페이지 탐색
Apache or Tomcat
localhost:8080/good/a.txt
정확한 경로 요청 → 정적 파일 그대로 전달
Apache
localhost:8080/user
식별자 요청 → 동적 매핑 주소 처리 (Servlet, JSP)
Tomcat

6. Servlet, Tomcat, Apache..

개념
설명
Servlet
자바로 작성된 서버 측 요청 처리기. 클라이언트 요청 → 자바 로직 처리 → HTML 생성하여 응답
Tomcat
자바 코드 실행을 담당하는 WAS. JSP와 Servlet을 실행
Apache
정적 파일을 외부에 공유하는 전통적인 웹 서버
[ Apache ] [ Tomcat ] ↓ ↓ 정적 파일 → 자바 실행(JSP/Servlet) ↓ ↓ 브라우저에 HTML 전달
 
 
 
 
Share article

Gyeongwon's blog