JSP vs 서블릿 실행방식 차이점

하루키·2025년 3월 23일

Spring Boot

목록 보기
3/3
post-thumbnail

1. 서블릿 (Servlet) 실행 과정

JSP는 실행되기 전에 JSP → Java → Class 과정을 거침

✔ 서블릿은 처음부터 Java 클래스(바이트코드)로 작성되므로 바로 실행 가능

✔ JVM이 직접 실행 가능하여 성능이 더 좋음

  • 서블릿 실행흐름
    1️⃣ 사용자가 서블릿 URL 요청 (http://localhost:8088/MyServlet)
    2️⃣ 서블릿 컨테이너(Tomcat)가 해당 서블릿 클래스 실행
    3️⃣ 서블릿이 직접 Java 코드로 작성되어 있기 때문에, 바로 실행 후 응답 반환
    🚀 서블릿은 변환 과정이 필요 없고, 바로 실행됨

2. JSP 실행 과정 (JSP → 서블릿 변환)

✔ JSP는 사실 내부적으로 서블릿으로 변환된 후 실행됨
✔ 따라서 JSP는 실행 전에 "서블릿 변환 과정"이 필요함 (2단계 처리)

  • JSP 실행 흐름
    1️⃣ 사용자가 JSP 페이지 요청 (http://localhost:8088/views/index.jsp)
    2️⃣ JSP 컨테이너(Tomcat)가 JSP 파일을 서블릿(Java 파일)로 변환
    3️⃣ 변환된 Java 서블릿 파일을 컴파일하여 바이트코드(클래스)로 변환
    4️⃣ 서블릿 클래스를 실행하여 응답 반환
JSP 파일 (index.jsp)
     ↓ 변환 (JSP 컨테이너)
Java 서블릿 파일 (index_jsp.java)
     ↓ 컴파일 (JVM)
클래스 파일 (index_jsp.class)
     ↓ 실행 (Tomcat 서블릿 컨테이너)
최종 HTML 응답 반환

3. 서블릿 vs JSP 실행 방식 비교

구분서블릿JSP
초기 실행 속도빠름 (바로 실행)느림 (서블릿 변환 과정 필요)
실행 방식Java 클래스 실행JSP → 서블릿 변환 후 실행
코드 작성 편의성불편 (HTML 작성 어려움)편리 (HTML과 Java 코드 혼합 가능)

📌 결론

✔ 서블릿은 바로 실행 가능하지만, JSP는 한 번 변환해야 실행됨 (2단계 처리)
✔ JSP는 HTML을 포함하기 쉬워 UI 작업이 편리하지만, 서블릿은 코드가 복잡해질 수 있음
✔ JSP는 직접 실행되지 않고, 서블릿(Java)으로 변환된 후 실행됨.
✔ JSP → Java (index_jsp.java) → Class (index_jsp.class) → 실행
✔ 해당 변환 과정은 처음 요청 시에만 발생하고, 이후에는 캐시되어 빠르게 실행됨.
🚀 JSP는 "보이지 않는 서블릿"일 뿐, 결국은 Java 코드로 실행되는 것!

profile
코딩 못하는 개발자(진)

0개의 댓글