HeadFirst servlet&jsp_4

네코·2022년 4월 3일
0

HeadFirst_servlet_jsp

목록 보기
3/3

웹 애플리케이션,속성,리스너

웹 애플리케이션 전체에서 정보를 공유하고 싶은 경우

서블릿 초기화 파라미터가 아닌, 컨텍스트 초기화 파라미터에 key:value 형태로 저장할것

context-init-param 과 servlet-init-param 차이

  • context
    • DD내에 web-app내 <'context-param> 태그 내에 작성함
    • 호출시 getServletContext().getInitParameter("foo")
    • 웹 앱 내에 어떤 서블릿 or jsp에서 호출 가능
  • servlet
    • '<'servlet> 내에 작성
    • getServletConfig로 호출
    • <'init-param>을 포함하고 있는 서블릿에서만 호출 가능

ServletConfig는 서블릿 당 하나, ServletContext는 웹앱당 하나

컨텍스트 속성, 세션 속성 동기화 문제

  • context에 접근하는 객체에서 동기화 함 , 동일 컨텍스트를 다루는 모든 영역에서 동기화 처리를 해줘야함
  • 세션은 HttpSession 객ㅊ체를 동기화하는 방식,
    Session은 클라이언트 당 하나만 존재하지만 클라이언트가 하나 이상의 브라우저에서 접근 할 경우 동기화 필요함.

Single Thread Model

서비스를 위해 정의하는 서블릿은 HttpServlet을 상속받거나 Single ThreadModel interface를 구현하는 것 중 하나

컨테이너는

  • 컨테이너가 생성한 서블릿 단 하나에 대해 요청을 하나씩 처리
  • 서블릿 인스턴스 풀을 생성해 요청이 동시에 여럿 들어오면 각각의 서블릿 인스턴스가 요청을 하나씩 처리

하는 방식 중 하나

0개의 댓글