페이지네이션 대량의 데이터를 여러 페이지로 나누어 표시하는 디자인 패턴 페이지네이션의 특징 사용자 경험 개선 사용자가 너무 많은 데이터를 한 번에 처리할 필요가 없어지므로 웹 페이지의 응답성과 성능을 향상시킬 수 있음 또한 사용자는 페이지 이동을 통해 원하는 데이터를 쉽게 찾을 수 있음 쉬운 탐색 사용자가 데이터를 페이지 단위로 탐색할 수 있음 이전 페이지, 다음 페이지, 특정 페이지로 이동하는 기능을 제공함 검색 결과 페이지 검색 결과를 여러 페이지로 나누어 제공하여 사용자가 검색 결과를 더 효과적으로 관리하고 탐색할 수 있음 정렬과 필터링 정렬과 필터링을 적용하여 사용자가 데이터를 원하는 방식으로 조작할 수 있음 페이지네이션 구성 요소 현재 페이지 번호: 사용자가 보고 있는 페이지의 번호를 나타냄 총..
Set 구조 MODEL 에서 1 : N 구조를 구현할 때 사용할 수 있는 구조 쇼핑몰의 상품 상세 페이지 혹은 커뮤니티 속성을 가지는 경우에 자주 사용함 실습 BoardVO.java public class BoardVO { private int bid; private String mid; private String content; private int favCnt; private int replyCnt; private Date date; public int getBid() { return bid; } public void setBid(int bid) { this.bid = bid; } public String getMid() { return mid; } public void setMid(String mi..
FrontController 웹 애플리케이션의 디자인 패턴 중 하나로, 클라이언트 요청을 처리하기 위한 중앙 집중적인 컨트롤러 역할을 하는 컴포넌트 FrontController의 특징 중앙 집중적인 컨트롤러 모든 클라이언트 요청을 중앙에서 처리함 코드 중복을 줄이고 애플리케이션의 일관성을 유지함 루틴 기능 분배 클라이언트 욫멍에 따라 적절한 컨트롤러나 핸들러로 요청을 보냄 이를 통해 요청을 처리할 컴포넌트가 모듈화되고 유연한 구조를 가질 수 있음 전처리 및 후처리 작업 클라이언트 요청을 처리하기 전에 전처리 작업(입증, 권한 확인 등)과 후처리 작업(로깅, 통계 수집 등)을 수행할 수 있음 커맨드 패턴 활용 각 요청에 대한 구체적인 처리 로직은 커맨드 객체로 캡슐화 됨 뷰 관리 요청 처리가 완료되면 Fr..
Listener 특정 이벤트가 발생함과 동시에 특정 메소드나 함수를 실행할 때 사용함 특정 시간에 기능을 추가하고 싶을 때 사용함 이벤트 핸들링이라고도 함 필터와 서블릿과 마찬가지로 NOT POJO 종류 중 하나이다 Linstener 실습 서버가 시작될 때 크롤링 한 데이터를 BoardDAO 에 삽입한다 리스너는 컨트롤러의 영역이기 때문에 insert() 메소드 수행이 가능하다 CrawlingListener.java @WebListener public class CrawlingListener implements ServletContextListener { public CrawlingListener() { } public void contextDestroyed(ServletContextEvent sce) ..