일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- STS
- Spring JDBC
- @AspectJ
- myBatis
- @Spring-Test
- SpringJDBC
- POJO
- 컨테이너
- 리눅스
- spring
- XML
- pointcut
- unix
- Framework
- Dependency Injection
- @JUnit
- 마이바티스
- Linux
- Di
- @test
- spring framework
- JdbcTemplate
- spring aop
- java
- java spring
- AOP
- JDBC TEMPLATE
- 프로퍼티
- Ubunt
- Spring Boot
Archives
- Today
- Total
개키우는개발자 : )
서블릿 컨테이너 띄우기 본문
반응형
스프링 부트의 컨테이너리스 서블릿 컨테이너 동작 원리를 이해하고, 이를 코드로 구현하는 내용을 다룹니다. 복잡한 서블릿 컨테이너 설치 및 설정 과정을 자동화하고, 개발자가 서블릿에 집중할 수 있게 해주는 스프링 부트의 특징을 설명합니다. 아래는 이 내용을 요약한 설명입니다.
주요 내용 요약:
서블릿 컨테이너리스 구조:
- 서블릿 컨테이너(Tomcat 등)를 별도로 설치하지 않고도, 애플리케이션 내에서 자동으로 실행할 수 있는 방법을 설명합니다.
- 개발자는 서블릿 컨테이너 설정이나 배포를 신경 쓸 필요 없이, 애플리케이션 코드(빈, 컴포넌트) 작성에 집중할 수 있습니다.
Tomcat을 코드로 시작하기:
- Tomcat을 메인 메소드에서 직접 시작하는 방법을 설명하며, 이를 통해 서블릿 컨테이너를 코드로 실행합니다.
- Embedded Tomcat을 사용하여, 별도의 설치 없이 내장형 서블릿 컨테이너를 실행하는 과정을 다룹니다.
- Spring Boot는 이미 내장형 Tomcat을 지원하고, 이를 사용해 간편하게 서블릿 컨테이너를 띄울 수 있습니다.
Tomcat Servlet Web Server Factory 사용:
- TomcatServletWebServerFactory를 사용하여 Tomcat 서버를 실행하고 관리합니다.
- 이 팩토리 클래스는 복잡한 설정 과정을 자동화하고, Tomcat 서버를 생성해주는 역할을 합니다.
- getWebServer() 메소드를 사용해 WebServer 객체를 생성하고, start() 메소드로 Tomcat 서버를 실행할 수 있습니다.
추상화된 웹서버 구조:
- Tomcat 외에도 다른 서블릿 컨테이너(Jetty, Undertow 등)로 쉽게 전환할 수 있는 구조를 제공하기 위해 Spring Boot는 서블릿 컨테이너를 추상화합니다.
- 이를 통해 다양한 서블릿 컨테이너에서 일관된 방식으로 동작하도록 합니다.
Tomcat 서버 확인 및 서블릿 추가:
- 서버가 정상적으로 실행되었는지 확인하기 위해 404 에러가 발생하는지 확인합니다. 이는 서버가 정상적으로 실행되었음을 의미합니다.
- 이후, 서블릿을 추가하여 실제 요청을 처리하는 작업을 구현할 예정입니다.
결론:
스프링 부트의 컨테이너리스 환경은 개발자가 서블릿 컨테이너 설정 및 설치를 신경 쓰지 않고, 애플리케이션 코드 작성에 집중할 수 있게 도와줍니다. Tomcat과 같은 서블릿 컨테이너를 코드로 실행할 수 있으며, Spring Boot가 제공하는 내장형 컨테이너를 통해 복잡한 설정 과정을 자동화합니다.
반응형
'토비의 스프링 부트 - 이해와 원리 > 섹션4 - 독립 실행형 서블릿 애플리케이션' 카테고리의 다른 글
프론트 컨트롤러로 전환 (0) | 2024.10.06 |
---|---|
프론트 컨트롤러 (0) | 2024.10.06 |
서블릿 요청 처리 (0) | 2024.10.06 |
서블릿 등록 (0) | 2024.10.06 |
Containerless 개발 준비 (0) | 2024.10.06 |
Comments