JSP 3일차
서블릿 설정과 변수
서블릿 환경설정
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() 메소드 호출(서블릿 요청 있을 때마다 실행)
- 반복 요청 : 최초 요청 시 만들어진 프로세스 안에 작은 프로세스(스레드) 만들고, 그 안에서 실행
서블릿 변수 특징
- 멤버변수 ⇒ 객체 생성 시 힙 메모리에 생성. 서블릿을 실행하는 클라이언트들이 공통으로 사용(멀티 스레드 동작)
- 지역변수 ⇒ 스택 메모리에 생성. 클라이언트마다 독립적으로 사용.