[KB IT's Your Life] 서블릿과 JSP의 역사 및 톰캣의 구조 🚀

JUN·2024년 8월 7일
1

KB IT's your life

목록 보기
3/16

안녕하세요! 어느덧 시간이 많이 흘러서 KB IT's your life 과정이 딱 절반! 남은 시점입니다.

여담이지만 저는 이번주에 휴가를 다녀왔는데요~ KB IT's your life 의 휴가에 대해 말씀드리는 것도 다음 기수분들께 좋을 것 같아 해당 정보를 드리려고 합니다~

KB IT's your life 휴가

일단 해당 교육과정에서는 흔히 말하는 "월차" 시스템입니다.
한달에 한번! 사용이 가능하다는 거죠~
물론 모아서 사용하는 것도 가능합니다! 하지만 너무 많은 날짜를 쉬어버리게 되면 다시 왔을때 학습을 따라가는것이 힘들겠죠??

그런 당신을 위해 준비했다~ 다시보기 기능~

혹시 휴가로 수업을 따라가지 못하는 분들을 위해 IT's your life 과정에서는 다시보기가 제공된답니다~
덕분에 저도 마음놓고 휴가에 다녀올 수 있었지요~

자 각설하고~
이번에는 해당 주차에 배웠던
서블릿과 JSP의 역사와 톰캣의 구조에 대해 이야기해보려고 합니다.

서블릿과 JSP의 역사 📜

Model 1 방식 🛠️

  • 초기 JSP 프로그래밍:
    • 초기에는 JSP로만 프로그래밍을 하는 Model 1 방식이 주류였습니다.
    • JavaScript, HTML, CSS, 그리고 Java 소스가 혼재하여 코드가 매우 혼란스러웠습니다.

Model 2 방식과 MVC 도입 🧩

  • Model 2 방식 등장:

    - 서블릿을 사용한 Model 2 방식이 등장하면서 Model-View-Controller(MVC) 관점이 도입되었습니다.
    - **구성 요소:**
        - **Model:** 데이터베이스(DB)
        - **View:** JSP
        - **Controller:** Java
  • 프레임워크의 등장:

    • 이 구조를 통해 Java 코드를 최소화할 수 있었으며, 여러 프레임워크가 등장했습니다.
    • 대표적인 프레임워크: 스프링(Spring), Struts

MVC2와 스프링의 FrontController 패턴 🏗️

  • MVC2:
    • 스프링의 FrontController 패턴이 등장하면서 MVC2라고 불리기 시작했습니다.

톰캣의 구조

Apache Tomcat(톰캣)은 서블릿과 JSP를 실행하기 위한 웹 서버 및 서블릿 컨테이너입니다. 톰캣의 주요 구성 요소는 다음과 같습니다:

  • Catalina: 서블릿 컨테이너로, HTTP 요청을 처리하고 서블릿을 실행합니다.
  • Coyote: HTTP/1.1 커넥터로, 웹 서버와의 통신을 담당합니다.
  • Jasper: JSP 엔진으로, JSP 파일을 서블릿으로 변환하여 실행합니다.
  • Cluster: 여러 톰캣 인스턴스를 클러스터링하여 로드 밸런싱과 세션 복제를 지원합니다.
  • Valves: 요청과 응답을 가로채어 로깅, 인증 등의 작업을 수행하는 컴포넌트입니다.

JSTL (JavaServer Pages Standard Tag Library) 📚

JSTL은 JSP 페이지에서 사용할 수 있는 태그 라이브러리로, 표준 태그를 통해 일반적인 작업을 쉽게 수행할 수 있도록 도와줍니다.

  • 코어 태그: 조건문, 반복문, URL 작업 등을 포함합니다.
  • 포맷 태그: 숫자, 날짜, 통화 형식 등을 처리합니다.
  • XML 태그: XML 문서를 파싱하고 처리합니다.
  • SQL 태그: 데이터베이스 접근을 단순화합니다.
  • 국제화 태그: 다국어 지원을 위한 태그를 제공합니다.

톰캣의 주요 디렉토리와 파일

  • bin: 실행 가능한 파일들이 위치한 디렉토리입니다.
    • catalina.exe
      • catalina run: 서버가 정상적으로 시작되지 않을 때 강제로 구동하여 에러 로그를 확인할 수 있습니다.
    • 서버 실행
      • .bat: Windows OS용 스크립트 파일
      • .sh: Linux OS용 스크립트 파일
    • 서버 시작
      • startup.bat
      • startup.sh
    • 서버 끄기
      • shutdown.bat
      • shutdown.sh
  • conf: 설정 파일들이 위치한 디렉토리입니다.
    • 개인이 설정을 저장할 수 있으며, 주로 XML 파일 형식으로 저장합니다.
    • 예를 들어, myhome 프로젝트를 설정한 경우, URL을 통해 해당 프로젝트에 접근하는 방법을 server.xml 파일에서 설정할 수 있습니다.
  • lib: 필요한 라이브러리 파일들이 위치한 디렉토리입니다.
  • webapps: 배포용 war 파일들이 위치한 디렉토리입니다.
    • servlet-api.jar 등의 파일들이 포함됩니다.

톰캣은 이러한 구조를 통해 서블릿과 JSP를 효율적으로 실행하고 관리할 수 있습니다. 이를 통해 개발자들은 안정적이고 효율적인 웹 애플리케이션을 구축할 수 있습니다.

마무리

이상으로 서블릿과 JSP의 역사와 톰캣의 구조에 대해 알아보았습니다. 다음에 또 유익한 내용으로 찾아뵙겠습니다!

profile
순간은 기록하고 반복은 단순화하자 🚀

2개의 댓글

comment-user-thumbnail
2024년 8월 8일

WOW~

답글 달기
comment-user-thumbnail
2024년 8월 14일

잘봤습니다!

답글 달기