의문점 공부하기/🧾공부하며

🧾 Servlet++

아리빠 2023. 8. 8. 10:14

*서블릿 메서드는 절대 주소없이 호출 못함

 

+http 종류 
생성 post
조회 get
변경 put
삭제 delete
정보만 가져올때 head

서블릿 실행 방법
http://서버주소:포트번호/웹애플리케이션이름/서블릿URL
예) http://localhost:8080/java-web/ex
서블릿 구동 과정
1) 웹 브라우저가 서블릿 실행을 요청한다.
2) 서블릿 컨테이너는 해당 URL의 서블릿 객체를 찾는다
3.1) 서블릿 객체를 아직 만들지 않았다면,
 => 서블릿 클래스에 대해 인스턴스를 생성한다.
 => 생성자를 호출한다.
 => init()를 호출한다.
 => service()를 호출한다.
3.2) 서블릿 객체가 생성되어 있다면,
 => service()를 호출한다.

 만약 웹 애플리케이션이 종료된다면
 => 생성된 모든 서블릿들의 destroy() 메서드를 호출

 => 특별한 옵션을 주지 않으면 클라이언트가 최초로 요청했을 때 서블릿 인스턴스를 생성
 => 그리고 그 서블릿 인스턴스는 클래스 마다 오직 한 개만 생성
 => init(), destroy()은 오직 한 번만 호출
 => service()는 클라이언트가 요청할 때 마다 호출


 => 서블릿 인스턴스는 오직 클래스 마다 한 개만 생성
    그래서 모든 클라이언트가 같은 서블릿 인스턴스를 사용
 => 클라이언트마다 구분되어야 할 데이터는 서블릿 인스턴스 변수에 보관해서는 안된다.
 
    >>인스턴스는 모든 클라이언트가 공유하기 때문