서블릿 컨테이너
- 스프링MVC-웹애플리케이션이해
- 톰캣처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 함
- 서블릿 컨테이너는 서블릿 객체를 생성, 초기화, 호출, 종료하는 생명주기 관리
- 서블릿 객체는 싱글톤으로 관리
- 고객의 요청이 올 때 마다 계속 객체를 생성하는 것은 비효율
- 최초 로딩 시점에 서블릿 객체를 미리 만들어두고 재활용
- 모든 고객 요청은 동일한 서블릿 객체 인스턴스에 접근
- 공유 변수 사용 주의
- 서블릿으로 변환 되어서 사용
- JSP도 서블릿으로 변환 되어서 사용
- 동시 요청을 위한 멀티 쓰레드 처리 지원
서블릿은 스프링이 필요없다.
하지만 여기서는 스프링 부트를 이용해서 프로젝트를 생성해보자.(스프링 부트는 톰캣 서버(WAS 서버)를 내장하고 있어서 편리하게 이용을 할 수 있다.)
start.spring.io에서 프로젝트 생성
Jar를 사용하면 스프링 내장톰캣 즉, 스프링 부트가 빌드된 서버를 바로 쓰는데
War는 보통 톰캣 서버를 별도로 설치하고 War를 빌드해서 넣을 때 쓴다. 또는 War 안에 톰캣을 내장시키는 거도 된다.
프로젝트를 생성하고 build.gradle에서 war로 되어있는지 확인해주자.
plugins {
id 'org.springframework.boot' version '2.6.6'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
id 'war'
}
ServletApplicationd을 돌려주자. 그리고 http://localhost:8080/로 들어가서
package hello.setvlet;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SetvletApplication {
public static void main(String[] args) {
SpringApplication.run(SetvletApplication.class, args);
}
}
아래 에러를 확인해준다.
2022-04-21 17:21:30.218 INFO 27764 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
lombok도 설치해주고 preference 에서 annotation 검색 후에 enable annotation processing을 체크하고 apply 해준다.
<출처 김영한: 스프링 MVC 1편 - 벡앤드 웹 개발 핵심 기술>
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard
'Spring > SpringMVC' 카테고리의 다른 글
HTTP 요청 데이터 - 개요 (0) | 2022.04.21 |
---|---|
HttpServletRequest - 기본 사용법 (0) | 2022.04.21 |
HttpServletRequest - 개요 (0) | 2022.04.21 |
Hello 서블릿 (0) | 2022.04.21 |
자바 백엔드 웹 기술 역사 (0) | 2022.04.21 |