본문 바로가기

개발자놀이터

Servlets & JSP 5장 정리 (1)

반응형

SetvletConfig  ( 서블릿 초기화 파라미터 )

특정 서블릿에서만 사용할 수 있는 parameter값.


- 배포서술자(web.xml) 표현방식

    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>Ch1Servlet</servlet-class>
        <init-param>
            <param-name>email</param-name>
            <param-value>email@naver.com</param-value>
        </init-param>
    </servlet>

- 서블릿코드

getServletConfig().getInitParameter("email")


ServletContext ( 컨택스트 초기화 파라미터 )

모든 서블릿에서 사용할 수 있는 parameter값.

- 배포서술자(web.xml) 표현방식

<contenxt-param> <param-name>email</param-name> <param-value>email@naver.com</param-value> </contenxt-param>

- 서블릿코드

getServletContext().getInitParameter("email")


리스너
컨테이너(톰캣)이 시작할 때, 그리고 끝날 때 호출할 수 있다.
DB Connection을 생성하고, 종료할 때 사용하면 유용하다.
web.xml의 Context param에 String외에 Object형태를 넣고 싶을 경우 유용하다.

- 배포서술자(web.xml) 표현방식
    <listener>
        <listener-class>
            MyServletLister
        </listener-class>
    </listener>

- 서블릿코드

public class MyServletLister implements ServletContextListener{ @Override public void contextInitialized(ServletContextEvent event) { ServletContext sc = event.getServletContext(); String docBreed = sc.getInitParameter("breed"); System.out.println(docBreed); Dog g = new Dog(docBreed); sc.setAttribute("dog", g); // 이 부분이 context에 Object를 담을 수 있는 부분 } @Override public void contextDestroyed(ServletContextEvent event) { } }

위와같이 구성하고 

Dog dog = (Dog) getServletContext().getAttribute("dog") 

로 꺼내올 수 있다.


기타 리스너

HttpSessionListener : 얼마나 많은 동시사용자가 지금 물려있는지 알고싶을 때.

ServletRequestListener : 요청이 들어올 때 마다 로그를 남기고 싶을 때.

반응형