본문 바로가기

강의 내용 정리/SpringBoot 개념정리

10강 - 서블릿 객체(톰켓)의 생명주기를 알려주세요!

1. 클라이언트가 요청 -> 서블릿 컨테이너 (톰캣) -> 최초 요청이면 객체 생성, 아니면 만들어진 객체를 재사용

 

 

URL : 자원 접근 ( .html, .css, .png )   <- 스프링에서 URL을 통한 접근을 막아둠!!

                                                                 = 특정한 파일 요청 불가, 요청시에는 무조건 자바를 거친다.

                                                                 = 요청시에는 무조건 톰켓을 거친다.

URI : 식별자 접근

상단 : URL(스프링에서 불가) , 하단 : URI

 

# 정적 파일 요청 시 : 아파치 작동, 톰켓 미작동

# java파일 요청 시 : 톰켓 작동

 

 

 

 

 

# 서블릿 : 자바파일

- 서블릿 컨테이너(톰캣) : 서블릿 모아둔 것

 

# 스레드 만드는 이유

   1) 서블릿객체에서 DB에 연결하여 데이터 가지고 올 때 시간이 3초 걸린다 가정하면 다른 요청들은 요청당 3초씩 기다려야함 

   2) 동시 사용을 위해 만들어짐

 

0. 최초 요청 이전에 서블릿 컨테이너(톰캣)는 비어있음

1. 자바파일 요청이 들어옴 -> 스레드 생성 ( 여러명이 요청하기 떄문에 동시사용을 위해 만들어짐 ) -> 서블릿 객체 생성

2. 다음 자바파일 요청이 들어옴 -> 스레드 생성 -> 만들어진 서블릿 객체 재사용

3. 설정한 최대 스레드 초과 시 대기. 

4. 그럼 스레드한도를 크게 하면 되지 않나? -> 많이 만들면 3초 걸릴 일이 더 많이 걸린다. -> 서버의 성능에 맞게 최대스레드설정

 

# 정리

   - 요청 들어올 때마다 스레드 생성

   - 응답  끝난 스레드는 재사용 됨( 다음 요청 ) -> 속도가 빠름 ( 스레드 만들고 지우는 시간 절약 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 자료를 참고하였습니다.

 

 

꾸준히 다시보자.

 

1. 220729

2. 220812

3. 220830

4. 220927

Recent Posts
Popular Posts
Recent Comments