* Servlet Lifecycle States *
(1) NEW ==> init callback
(2) READY ==> service callback
(3) DESTROY ==> destroy callback
* ServletConfig API를 활용한 초기화 파라미터 사용
서블릿이 초기화될 때, 공통적으로 적용해야 되는 작업들이 필요한 경우가 있다.
예) 외부 파일 및 디렉터리 경로, JDBC에서 사용하기 위한 데이터베이스 경로, 계정 및 비밀번호 등
이런 정보들을 서블릿에서 설정하지 않고 web.xml에서 설정한 후 서블릿에서 접근해서 사용한다.
서블릿에서 설정하는 경우에는 정보가 변경되면 반드시 서블릿을 재컴파일 시켜야 된다. 하지만 web.xml에서 설정하면 재컴파일 없이 변경된 정보를 참조할 수 있기 때문에 유지보수가 쉬워진다.
이렇게 web.xml에 설정된 설정 값을 초기화 파라미터(Initialization Parameter)라고 하며 ServletConfig API를 이용해서 접근할 수 있다.
특징은 여러 서블릿에서 공유해서 사용하지 못하고 으로 등록된 서블릿에서만 사용 가능하다는 점이다.
또한 서블릿 코드 내에서 @WebInitParam 어노테이션을 이용하여 초기화 파라미터를 등록 할 수도 있다.
* web.xml에 초기화 파라미터를 설정하는 방법
<servlet> 태그 안에서 <init-param> 태그를 사용하여 지정한다.
다수의 태그 등록이 가능 하고, name/value 쌍으로 설정된다.
<init-param>
<param-name>초기화파라미터 이름</param-name>
<param-value>초기화파라미터 값</param-value>
</init-param>
* ServletContext API
웹 어플리케이션에는 여러 가지 자원을 포함할 수 있다.
html 파일, 미디어 파일, 이미지 파일, 다수의 JSP 파일과 서블릿 등이 유기적으로 동작한다.
ServletContext는 웹 어플리케이션(Context)마다 하나씩 생성되는 객체로서, 다수의 JSP 파일과 서블릿에서 공유해서 사용할 수 있다.
또한 ServletContext 객체는 웹 어플리케이션의 LifeCycle과 일치하기 때문에, 웹 어플리케이션이 Tomcat 컨테이너에 존재한다면 계속 사용 가능하다. 이것을 ‘application scope’라고 한다.
'교육과정 기록 > 💻back-end' 카테고리의 다른 글
[7.18] 서블릿 Listener / Filter (0) | 2022.07.19 |
---|---|
[7.15] 서블릿에서 파일 접근 (0) | 2022.07.15 |
[7.13] 서블릿 (맵핑 & API & 파라미터 처리) (0) | 2022.07.14 |
[7.12] 서블릿 시작 (0) | 2022.07.12 |
[7.8] JDBC - 자원객체 이해 / JUnit 사용 (0) | 2022.07.08 |