[ Springboot ] Springboot 동작원리 : 웹 배포서술자(web.xml)에 대해서 알려줘요!
web.xml
관문과 같은것
웹에 진입을 하면 최초로 작동
- web.xml이 하는일
문지기가 스스로 일을 할 수없기때문에 관리자가 문지기에게 매뉴얼(서류 = web.xml)를 줌
문지기의 일은 관리자에 따라 달라질수 있음
web.xml의 장점은 문지기가 달라질 일이 없음
- ServletContext의 초기 파라미터
※ 초기 파라미터 : 암구호
→ 한번 설정해 놓으면 어디서든지 동작 가능
- Session의 유효시간 설정
※ Session : 인증을 통해서 들어오는것
인증이 되지 않으면 들어올 수 없음
- Servlet/JSP에 대한 정의
- Servlet/JSP 매핑
※ Servlet mapping : 문지기가 가야할 길을 알려줌
요청한 자원/location/식별자가 어디라는것을 정확하게 알려주고 그쪽으로 이동할 수 있도록 도와줌
- Mine Type 매핑
※ Mine Type : 들고올 데이터의 type이 무엇인가
→ 아무것도 가져오지 않았을때 : http통신의 Get방식 (뭔가를 가지러온것. 즉 select)
→ 데이터를 들고 왔을때 :
* Mine Type을 알아야 하는 이유 : 어떤것을 가지고 들어왔는지 알아야 문지기(web.xml)이 어디로 이것을 보내야할지 알 수 있음
→ mine type이 틀리게 된 순간 error 발생
(굉장히 많기 때문에 따로 공부 필요)
- Welcome File List
아무것도 들고 들어오지 않았을때 welcome file list로 설정한 파일에서 일할수 있도록 만든것
welcome file list는 관리자가 설정할 수 있다.
- Error Pages 처리
아예 없는것을 요청할 경우 문지기(web.xml)에 과부하가 걸려 error 발생
- 리스너/필터 설정
※ 필터 : 들어온 요청의 신분을 확인하는것
※ 리스너 : 특정 조건만 확인하는 대리인
조건에 충족할경우 필요한 곳으로 안내
- 보안
여기서 Servlet/JSP 매핑시(web.xml에 직접 매핑 or @WebServlet 어노테이션 사용)에 모든 클래스에 매핑을 적용시키기에는 코드가 너무 복잡해지기 때문에 FrontController 패턴을 이용함