03.25 학습! Listener! Paging! 🟥🟧🟨🟩🟦🟪🟫⬜⬛🫢🔔😎😊🤔😭⭐🫢

아 loginUser를 계속 확인해야 해서, 모든 곳에서 인증이 필요한 곳에 다 ctrl c ctrl v 해야하네;
🤔어떻게 해야 할까?
😊Filter
웹 컴포넌트가 실행되기 전/후에 요청과 응답을 가로채서 부가적인 기능을 수행하기 위한 웹 컴포넌트
😎Filter의 주요 용도
인증 및 권한 확인, 로깅 - 어떤 요청이 있었는지, 어떤 응답이 있었는지 추적, 보안 - 요청을 검사하여 악의적인 코드나 공격 차단
Filter의 작성
Servlet과 유사한 life cycle 제공
생성자 -> init() -> doFilter() (request,호출,response) -> destroy
SessionFilter
인증이 필요한 요청에 대해 전처리로 동작하는 Filter
⭐경로(url) 기반으로 작동하니 url에 대한 설계가 매우 중요!
필요한 것
SearchCondition
Page
1. 링크를 통한 화면 호출(a 활용)과 검색 조건을 이용한 호출(form 전송), 페이지 링크를 이용한 호출로 구분
처음 링크를 이용한 조회
페이지 링크를 이용한 호출
const pageLinks = document.querySelectorAll(".pagination a");
pagination 태그의 a 자손 선택!
😭 Connection은 Network를 통해서 얻어오는 비싸고 소중한 자원!
🫢 연결/닫기 -> 얻기/반납 (Connection Pool에다가)
MAX_POOL_SIZE = 5
MIN_IDLE = 3
IDLE_TIMEOUT = 5분
CONNECTION_TIMEOUT = 10분
🤔 언제 시작하면 좋을까..? (애플리케이션 실행 시점에 시작하면 좋겠는데..)
😊 Listener!
웹 애플리케이션에서 발생하는 이벤트에 대한 모니터링 객체
🔔어떠한 경우도 예외에 대한 정보가 클라이언트에게 직접 전달되지 않도록 처리 필요!
404 오류 처리 과정
front controller까지 진입 후 처리할 sub controller를 발견하지 못한 경우
default 404 화면으로 forward error/404.jsp
500 오류 처리 과정
try-catch로 Checked Exception 처리 후 화면으로 이동
😭 다 처리해주기 힘들다 ㅜ..
😊 어차피 다 톰캣으로 에러가 전파되니깐 톰캣을 똑똑하게 만들자!
web.xml에서 error-page를 관리!
백엔드 학습 끝! 알고리즘 풀고 잡시당