Skip to main content

Servlet-03

· 2 min read

1.Servlet 초기화 파라미터 ServletConfig

  • 특정 Servlet이 생성될 떄 초기에 필요한 데이터들이 있다. 특정 경로 및 아이디 정보 등
  • web.xml에 기술하고 Servlet파일에서는 ServletConfig 클래스를 이용하여 접근한다
  • web.xml이 아닌 Servlet파일에 직접 기술하는 방법도 있다
  • web.xml에 특정 servlet 내에 init-param 작성
  <servlet>
<servlet-name>InitParam</servlet-name>
<servlet-class>com.javalec.ex.InitParam</servlet-class>

<init-param>
<param-name>id</param-name>
<param-value>example id</param-value>
</init-param>
<init-param>
<param-name>pwd</param-name>
<param-value>1234</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>InitParam</servlet-name>
<url-pattern>/InitParam</url-pattern>
</servlet-mapping>
  • servlet.java 파일에서 ServletConfig.getInitParameter("id");로 사용 가능

  • web.xml이 아닌 .java에서 사용 하는 방법 - @WebServlet(urlPatterns={"/InitParamInnerClass"}, initParams= {@WebInitParam(name="id",value="aaaa"), @WebInitParam(name="pwd",value="1234")})

    2.ServletContext

  • 여러 Servlet에서 특정 데이터를 공유해야 하는 경우 context parameters를 이용하여 web.xml에 기술하고 Servlet간 공유해서 사용 가능

  • 모든 서블릿에서 사용 가능

  • getServletContext().getInitParameter("sharedID");

   <context-param>
<param-name>sharedID</param-name>
<param-value>testID</param-value>
</context-param>
<context-param>
<param-name>sharedPWD</param-name>
<param-value>1234</param-value>
</context-param>

3.ServletContextListener

  • 웹어플리케이션의 생명주기(LifeCycle)를 감시하는 리스너
  • 리스너의 해당 메소드가 웹 어플리케이션의 시작과 종료 시 호출 된다(contextInitialized(), contextDestroyed())
  • ServletContextListener 상속받는 class 생성
  • web.xml에 내용 작성
   <listener>
<listener-class>com.javalec.ex.TestListener</listener-class>
</listener>
  • .java 내에서 @WebListener 어노테이션으로 작성해도 가능