servlet LifeCycle
웹 서버
요약 사용자에게 웹(Web)을제공하기 위한 서버로, 웹에서 사용자가 서비스를 요청하는 경우 네트워크를 통해 HTML로 구성된 웹페이지를제공한다.
웹 애플리케이션 서버
웹 애플리케이션 서버(Web Application Server, 약자 WAS)는 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)이다. 웹 애플리케이션 서버는 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며, 주로 데이터베이스 서버와 같이 수행이 된다. 한국에서는 일반적으로 "WAS" 또는 "WAS S/W"로 통칭하고 있으며 공공기관에서는 "웹 응용 서버"로 사용되고, 영어권에서는 "Application Server" (약자 AS)로 불린다.
cf) Java는 멀티쓰래드를 통해 request를 처리하기 때문에 서버 부하가 다른 언어에 비해 적게 걸리는 장점이 있다. 위 빨간색 필기 그림은 다수의 request시 다수의 객체가 생성되어 이를 대응하는 것을 설명(왼쪽)하는 것이고 반면 Java는 JVM을 통해 멀티쓰래드로 각 request에 대응하는 모습(오른쪽)을 나타내고 있다
※ service()가 있으면 doGet()과 doPost()가 실행되지 않고 service()만 실행이 된다
※ service()가 있으면 doGet()과 doPost()가 실행되지 않고 service()만 실행이 된다(강조하고자 반복)
참고 - @PostConstruct : 객체가 생성된 뒤 = 생성(Construct) 뒤(Post)
@PreDestroy : 객체가 소멸하기 전 = Pre(전) Destroy
※ init과 destroy는 Override이고 PostConstruct와 PreDestroy는 어노테이션을 통해서 메소드 명을 마음대로 정할 수 있다