일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 예외
- 웹 브라우저 전쟁
- 예제
- DoIt
- 크롤링 오류
- DoitSQL
- SQL입문
- 웹브라우저 수용도
- 페이지분석
- 생성자
- DoitSQL입문
- 자바 오류
- 자바 예외
- html
- 배열 3요소
- 데이터베이스
- Doit입문SQL
- dbms
- 숫자형식오류
- 숫자 형식
- SQL
- 함수 선언
- 자바
- HTML역사
- 키-값 데이터베이스
- 크롤링
- 함수
- R1C3
- 우아한테크
- 배열 예제
Archives
- Today
- Total
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 예외
- 웹 브라우저 전쟁
- 예제
- DoIt
- 크롤링 오류
- DoitSQL
- SQL입문
- 웹브라우저 수용도
- 페이지분석
- 생성자
- DoitSQL입문
- 자바 오류
- 자바 예외
- html
- 배열 3요소
- 데이터베이스
- Doit입문SQL
- dbms
- 숫자형식오류
- 숫자 형식
- SQL
- 함수 선언
- 자바
- HTML역사
- 키-값 데이터베이스
- 크롤링
- 함수
- R1C3
- 우아한테크
- 배열 예제
Archives
- Today
- Total
프로그래밍
[Web] day44 : 리스너 본문
728x90
반응형
2023.07.06.목
리스너
특수한 형태의 서블릿으로 서블릿을 상속받은 자식이다
특정시간(타이밍)에 기능을 추가하고 싶을 때 사용한다
ex) 서블릿이 동작되었을때, 서버가 시작할때, 서블릿이 변경되었을때, 세션이 변경되었을때, ...
우리는 샘플데이터를 확보하는 리스너를 작성해볼 것이다
: 샘플 데이터 확보
---> 서버가 시작되었니? 샘플데이터 크롤링해서
크롤링 완료된 데이터들을 DB에 insert()해줘
필터와 서블릿과 마찬가지로 리스너 또한 NOT POJO의 일종이다
2023.08.06 - [분류 전체보기] - [Web] POJO와 NOT POJO
리스너 크롤링 예제
CrawlingListener.java
리스너는 Controller 영역이므로 BoardDAO를 직접 호출하여 insert()를 실행시켰다
package controller;
import java.util.ArrayList;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import model.BoardDAO;
import model.BoardVO;
import model.Crawling;
/**
* Application Lifecycle Listener implementation class CrawlingListener
*
*/
@WebListener
public class CrawlingListener implements ServletContextListener {
/**
* Default constructor.
*/
public CrawlingListener() {
// TODO Auto-generated constructor stub
}
/**
* @see ServletContextListener#contextDestroyed(ServletContextEvent)
*/
public void contextDestroyed(ServletContextEvent sce) {
// TODO Auto-generated method stub
}
/**
* @see ServletContextListener#contextInitialized(ServletContextEvent)
*/
public void contextInitialized(ServletContextEvent sce) {
ArrayList<BoardVO> datas=new ArrayList<BoardVO>();
datas =Crawling.sample();
BoardDAO bDAO = new BoardDAO(); // 영화 DAO
for(BoardVO v : datas ) {
bDAO.insert(v);
}
/*
* ServletContext sc = sce.getServletContext(); sc.setAttribute("datas", datas);
*/
System.out.println("로그: Crawling리스너 수행 완료!");
}
}
https://github.com/jihyean/Web/tree/main/day44
728x90
반응형
'Web > Web' 카테고리의 다른 글
[Web] day48 : Set 구조 (0) | 2023.08.07 |
---|---|
[Web] day47 : JSP 프레임워크 구조 적용하기(FrontController 패턴) (0) | 2023.08.07 |
[Web] day43 : 필터(.java 클래스) (0) | 2023.08.06 |
[Web] day43 : POJO와 NOT POJO (0) | 2023.08.06 |
[Web] day43 : 커스텀태그 (0) | 2023.08.05 |
Comments