리스너는 특정 상황을 모니터링 하다가 해당 상황이 발생하면 동작하는 일종의 서블릿.
웹 애플리케이션 시작 및 운영 종료 과정에서 발생하는 일련의 과정에서 특정 상황에 필요한 작업을 처리하기 위해 사용 한다.
다음은 ServletContextListener의 예
이 리스너의 동작은
context가 초기화 될 때 그 동작을 캐치 -> 리스너에서 특정 작업을 처리 -> 이후 본래 요청대로
형태로 진행된다.
ListenerTest.java
public class ListenerTest implements ServletContextListener{
public ListenerTest() { } public void contextInitialized(ServletContextEvent arg0) { ServletContext sc = arg0.getServletContext(); //컨텍스트 초기화시 동작하는 작업 sc.setAttribute("listener", "간단한 리스너 테스트 입니다"); } public void contextDestroyed(ServletContextEvent arg0) { } }
ListenerTester.java
public class ListenerTester extends HttpServlet { private static final long serialVersionUID = 1L; public ListenerTester() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter out =response.getWriter(); String tester = (String)getServletContext().getAttribute("listener"); out.println("확인 : " + tester); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
web.xml 부분
<listener>
<listener-class>ex.ListenerTest</listener-class>
</listener>
<servlet>
<description></description>
<display-name>ListenerTester</display-name>
<servlet-name>ListenerTester</servlet-name>
<servlet-class>ex.ListenerTester</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ListenerTester</servlet-name>
<url-pattern>/ListenerTester</url-pattern>
</servlet-mapping>
결과
'JSP > Learn' 카테고리의 다른 글
[servlet] 서블릿 필터 (0) | 2012.04.10 |
---|---|
[JSP & Servlet] 기본적으로 알아 두어야 할 것들 (0) | 2012.04.04 |
[JSP] 서블릿으로 다운로드 페이지 구현 (0) | 2011.12.09 |
[JSP] Jakarta POI IV탄 이미지편 (0) | 2011.12.08 |
[JSP] Jakarta POI III탄 Cell편(퍼옴) (0) | 2011.12.08 |