서블릿 컨테이너(톰캣)
톰캣은 자바 코드를 통해 최초의 요청을 받을 때 스레드를 받는다. -> 서블릿 객체를 만든다.(필요한 데이터 가져옴)
스레드는 동시접근을 허용하게 해준다.
스프링은 클라이언트가 요청을 했을 때 서블릿 컨테이너가 동작을 무조건 한다. (URI 요청을 하기 때문에)
최초 요청이 오면 메모리 로딩을 해서 서블릿 객체를 하나 만들고 실행을 한다. 그리고 스레드가 20개이면 두번째 요청부터 스무번째 요청까지 쭉 요청이 되고 21번째 부터 no가 요청이 될 것이다. 그리고 마지막으로 최종적으로 만들어지는 것이 Request 객체와 Response 객체이다.(톰캣이 들고 있는 객체)
web은 Request와 Response의 여행이다. Request와 Response가 종료가 되면 여행은 끝나게 된다.
이 문구를 가지고 web.xml을 공부해보자.
공부는 문서! 책! 타이핑! 생각! 의 여러가지 종류 => 생각!이 가장 중요 => 책 / 문서를 보고 판단
스프링을 만든것도 사람 => 이 사람이 왜 이렇게 만들었을까라는 생각!
web.xml
- ServletContext의 초기 파라미터
초기 파라미터는 한번 설정을 해놓으면 어디에 서든지 동작할 수 있다.
- Session의 유효시간 설정
몇일 있을 수 있는지 세션의 시간을 설정
- Servlet/JSP에 대한 정의
- Servlet/JSP 매핑
다는 a네 그럼 ~~로 가라. 매핑의 대략적인 개념
- Mime Type 매핑
a가 들고올 데이터가 무엇인지 본다.(get방식은 select)
들고올 데이터가 무엇인지 알려주는 것이 Mime Type이다.
- Welcome File list
a는 데이터가 없네 일단 광장으로 보내버린다.
- Error Pages 처리
a는 파로 가라고 정해져있다. 이상한 주소는 이상한 광장으로 보내 즉 다 에러페이지로 던져.
- 리스너 / 필터 설정
필터는 그림에서 총을 들고 온 사람은 성 안으로 들어오지 못하게 하는 것.
리스너는 대리인이다. 문지기 web.xml의 허락을 안구하고 그냥 성 안으로 특정인을 들여보내게 된다.
- 보안
- 여기에서 Servlet/JSP 매핑시(web.xml에 직접 매핑 or @WebServlet 어노테이션 사용)에 모든 클래스에 매핑을 적용시키기에는 코드가 많이 복잡해서 FrontController 패턴을 사용한다.(tistory 참고하자.)
<출처:스프링부트 개념정리 with JPA 10강 - 서블릿 객체의 생명주기>
https://www.youtube.com/watch?v=wc-K2QurjSk&list=PL93mKxaRDidG_OIfRQ4nztPQ13y74lCYg&index=10
<출처:스프링부트 개념정리 with JPA 11강 - web.xml>
https://www.youtube.com/watch?v=Q_c-1-cq6YA
'Spring > SpringBoot' 카테고리의 다른 글
Spring Boot으로 웹 출시까지 (0) | 2022.05.30 |
---|---|
DispatcherServlet & ApplicationContext & 응답(Response)하는 방법 (0) | 2022.05.06 |
Tomcat (0) | 2022.05.06 |
ORM & 영속성 컨텍스트 & OOP 관점 모델링 & HTTP (0) | 2022.05.06 |
MessageConverter & JPA (0) | 2022.05.06 |