1.서블릿 초기화 파라미터 ServletConfig

특정 Servlet : 특정 경로 및 아이디 정보 등 데이터 초기화 필요.

이를 초기화 파라미터라고 하며, Servlet에서는 ServletConfig클래스를 이용하여 접근 및 사용 가능.

web.xml / Servlet파일 직접 기술 두가지 방법이 있음

1)web.xml

WebContent > WEB-INF > web.xml

2강에서 servlet url mapping할 때, <servlet>태그 사이에다가 <init-param>을 이용,

getinitParameter("id");로 servlet에서 호출 가능

갑자기 뜬금없이 getinitParameter(); 메소드가 호출이 가능한 이유는?

상속받아 사용하는 HttpServlet클래스가 인터페이스인 ServletConfig로부터 상속받아 사용되기 때문.

getinitParmeter() 메소드에 Ctrl+T시 GenericServlet 추상클래스 확인가능
ServletConfig에 Ctrl+T 시 구조 확인 가능

2)Servlet파일에 기술

기존 @WebServlet을 통해 url mapping을 할 때 @WebServlet("/InitP")라고 Servlet class선언 전에 썼지만 이를 위와 같이 변형하여 쓰기 가능

2. 데이터 공유 : ServletContext

여러 Servlet에서 특정 데이터를 공유해야 할 경우 context parameter을 이용해서 web.xml에 데이터를 기술하고 Servlet에서 공유하며 사용이 가능.

*ServletConfig메소드가 아닌 ServletContext메소드 이용해서 데이터를 불러옴(getServletContext())

 

3.웹어플리케이션 감시 : ServletContextListener

LifeCycle을 감시하는 Listener, 리스너의 해당 메소드가 웹 어플리케이션의 시작과 종료시 호출됨

1)임의의 리스너클래스를 제작(ServletContextListener 인터페이스를 반드시 implements)

+ @override를 통해

contextInitialized()

contextDestroyed() 오버라이딩

2)web.xml에 리스너 클래스 기술

2-1)혹은 리스너클래스 선언 위쪽에 @WebListener라고 명시를 해줘도 됨.

 

 

+ Recent posts