최대 1 분 소요

서블릿 설정과 변수

서블릿 환경설정

web.xml

  • 웹 애플리케이션 서비스 실행에 관한 전반적인 내용 정의하는 환결설정 파일
  • 서버에서 서블릿 실행 관한 정보 설정

      <servlet>
      	<servlet-name>initPram</servlet-name>
      	<servlet-class>com.edu.test.InitParamServlet</servlet-class>
      	<init-param>
      		<param-name>id</param-name>
      		<param-value>guest</param-value>
      	</init-param>
      	<init-param>
      		<param-name>password</param-name>
      		<param-value>123456</param-value>
      	</init-param>
      	<load-on-startup>1</load-on-startup>
      </servlet>
        
      <servlet-mapping>
      	<servlet-name>initParam</servlet-name>
      	<url-pattern>/initParamTest</url-pattern>
      </servlet-mapping>
    
    • <servlet>
      • 설정하려는 서블릿 등록
      • 반드시 하위 태그로 <servlet-name><servlet-class> 있어야 함
    • <servlet-name> : 서블릿의 이름 지정
    • <servlet-class> : 서블릿의 클래스 이름 지정
    • <init-param> : 서블릿에 변수 전달할 때 사용. 서블릿 실행하면서 필요한 값 외부에서 전달받아 실행. 유지 보수성 높음
    • <load-on-startup> : 웹 서비스가 시작될 때 서블릿 객체 생성

ServletConfig

  • <servlet> 태그에 설정한 정보를 서블릿 페이지 내에서 추출

서블릿 변수

웹 프로그램 개발 방법

  • GCI
    • 클라이언트에서 요청이 들어올 때마다 독립적이 프로세스 생성 ⇒ 메모리에 프로세스 실행 위한 데이터 로딩
    • 여러 사용자 요청이 빈번한 웹 서비스로 부적합
  • 서블릿
    • 최초 요청 : 서블릿 객체의 메모리 로딩과 객체 생성 ⇒ init() 메소드 호출 ⇒ service() 메소드 호출(서블릿 요청 있을 때마다 실행)
    • 반복 요청 : 최초 요청 시 만들어진 프로세스 안에 작은 프로세스(스레드) 만들고, 그 안에서 실행

서블릿 변수 특징

  • 멤버변수 ⇒ 객체 생성 시 힙 메모리에 생성. 서블릿을 실행하는 클라이언트들이 공통으로 사용(멀티 스레드 동작)
  • 지역변수 ⇒ 스택 메모리에 생성. 클라이언트마다 독립적으로 사용.