Springboot with JPA - 데어 프로그래밍 유튜브 (10강_서블릿 객체의 생명주기를 알려줘요!)

치즈말랑이·2021년 10월 21일
0

스프링부트 with JPA

목록 보기
5/9

서블릿 컨테이너를 톰켓이라고 한다.
클라이언트가 요청을 하면 톰켓이 요청을 받고 최초요청이면 객체를 생성하고 최초요청이 아니면 객체를 생성하지 않고 이미 생성된 객체를 재사용한다.

정적인 파일을 요청받으면 톰켓이 일을 안하고 아파치가 일을 한다.
자바코드를 요청받아야 톰켓이 일을 한다.
스프링에서는 .html, .css, .png 등과 같은 정적인 파일을 요청받을 수 없다.
스프링에서는 URL 접근을 막아놔서 식별자로 접근해서 요청해야한다. 즉, 특정한 파일 요청을 할 수 없어서 요청시에는 무조건 자바를 거친다.

URL(location): 자원 접근
URI(identification): 식별자 접근

url - http://naver.com/a.png 실제 자원의 파일
uri - http://naver.com/picture/a 파일이 아니다

클라이언트가 request(자바 관련된 어떤것)하면 서블릿이 만들어져야 한다.
서블릿 : 자바코드로 웹을 할 수 있는것
서블릿 컨테이너: 자바코드로 웹을 할 수 있는걸 모아놓은거 (톰켓)

톰켓은 요청을 받을때 스레드를 만들고, 이 스레드가 서블릿 객체를 하나 만든다.
request는 많은 사람들이 한번에 할 수 있어서 동시처리를 위해 스레드를 만든다.

스레스 생성1 - 서블릿객체
스레스 생성2 - 서블릿객체
스레스 생성3 - 서블릿객체

스레드를 생성하지 않는다면 서블릿객체가 db에 접근하는 시간만큼 다른 작업이 지연된다.
만약에 스레드를 20개까지만 만든다고 설정했을때 작업이 끝나지 않아서 스레드들이 대기하고 있다면, 21번째 요청은 바로 생성되지 않고 대기한다.
stateless
스레드생성1이 response를 하게 되면 사라지지 않고 21번째 요청을 받아 작업을 시작한다.
즉 사진에서 20번까지는 Yes로 가다가 21번부터는 No로 간다.
Service(httpServletRequest,httpServletResponse)는 톰켓에 최종 생성되는객체이다.

profile
공부일기

0개의 댓글