FrontController 웹 애플리케이션의 디자인 패턴 중 하나로, 클라이언트 요청을 처리하기 위한 중앙 집중적인 컨트롤러 역할을 하는 컴포넌트 FrontController의 특징 중앙 집중적인 컨트롤러 모든 클라이언트 요청을 중앙에서 처리함 코드 중복을 줄이고 애플리케이션의 일관성을 유지함 루틴 기능 분배 클라이언트 욫멍에 따라 적절한 컨트롤러나 핸들러로 요청을 보냄 이를 통해 요청을 처리할 컴포넌트가 모듈화되고 유연한 구조를 가질 수 있음 전처리 및 후처리 작업 클라이언트 요청을 처리하기 전에 전처리 작업(입증, 권한 확인 등)과 후처리 작업(로깅, 통계 수집 등)을 수행할 수 있음 커맨드 패턴 활용 각 요청에 대한 구체적인 처리 로직은 커맨드 객체로 캡슐화 됨 뷰 관리 요청 처리가 완료되면 Fr..
Listener 특정 이벤트가 발생함과 동시에 특정 메소드나 함수를 실행할 때 사용함 특정 시간에 기능을 추가하고 싶을 때 사용함 이벤트 핸들링이라고도 함 필터와 서블릿과 마찬가지로 NOT POJO 종류 중 하나이다 Linstener 실습 서버가 시작될 때 크롤링 한 데이터를 BoardDAO 에 삽입한다 리스너는 컨트롤러의 영역이기 때문에 insert() 메소드 수행이 가능하다 CrawlingListener.java @WebListener public class CrawlingListener implements ServletContextListener { public CrawlingListener() { } public void contextDestroyed(ServletContextEvent sce) ..
Filter HTTP 요청과 응답을 가로채고 처리하는 컴포넌트로, 서블릿 스펙을 따르는 웹 애플리케이션에서 사용됨 서블릿 컨테이너가 구동되는 시점에 생성되며, 대표적으로 Encoding 이 있음 Filter 구동 순서 웹 애플리케이션이 시작될 때, 서블릿 컨테이너는 web.xml 파일로 등록된 필터의 인스턴스를 생성하고 init()을 호출 클라이언트로부터 HTTP 요청이 서버에 도달하면 해당하는 필터의 doFilter()를 호출함 doFilter()에서 작업을 실행하고 다음 필터의 doFilter()를 호출함 마지막 필터까지 3을 반복함 마지막 필터는 서블릿의 service()를 호출 서블릿의 service()가 끝나면 service()를 호출했던 이전 필터로 돌아감 제일 처음 호출됐던 필터까지 돌아감 ..
POJO Plain Old Java Object 로 단순한 자바 객체를 나타내는 용어 즉, 특정 프레임워크나 라이브러리에 종속되지 않는 순수한 자바 클래스를 의미 POJO의 특징 특정 프레임워크나 컨테이너에 종속되지 않음 특정 인터페이스를 구현하거나 특정 클래스를 상속 받지 않으며, 일반적인 자바 객체로 간주됨 필요한 멤버 변수와 메소드만을 포함하며, 특별한 제약사항이나 규칙을 따르지 않음 (유지보수 용이) 데이터를 캡슐화하고 관련 메소드를 제공하여 데이터의 상태와 행위를 하나로 묶음 특별한 환경이나 외부 의존성 없이 테스트가 용이함 비즈니스 로직을 구현하는 데 자주 사용됨 NOT POJO POJO 와 대비되는 개념으로, 특정 프레임워크나 라이브러리에 종속적인 자바 객체를 나타냄 NOT POJO의 특징 ..
커스텀태그 특별한 목적을 위해 직접 만든 HTML 또는 XML 태그를 의미함 웹 페이지의 동작이나 모양을 제어하는 데 사용되며, 프로그래머가 원하는 기능을 쉽게 추가하고 재사용할 수 있게 해줌 커스텀 태그의 특징 재사용성 웹 페이지에서 자주 사용되는 특정 기능을 쉽게 재사용할 수 있음 모듈화 코드를 더 작은 논리적 단위로 분할하여 유지보수를 더 쉽게 만들어줌 즉, 특정 기능이 변경되어야 할 때, 해당 기능을 담당하는 커스텀 태그만 수정하면 되며 다른 부분에 영향을 미치지 않음 가독성과 유지보수성 의미 있는 태그 이름을 사용하여 코드의 가독성을 향상시키며, 비슷한 기능을 가진 여러 태그를 논리적으로 그룹화하여 코드를 더 쉽게 관리할 수 있음 커스텀태그 사용 방법 > 태그 파일의 위치는 src/main/we..
EL JSP 페이지에서 Java 코드를 대체하고 뷰와 비즈니스 로직을 분리하는 데 사용됨 EL의 특징 EL은 간결한 문법을 사용하여 Java 코드보다 더 가독성이 높고 쉽게 작성할 수 있음 JSP 페이지의 변수에 쉽게 접근할 수 있음 ex) ${ user.name} 반복문을 사용하여 리스트나 배열의 요소를 사용할 수 있음 JSTL 과 연동하여 사용 가능함 JSP 속성(request, response, session, application 등) 에 저장된 객체의 property를 출력함 EL 연산자 연산자 설명 ? 삼항 연산자 % mod > It (less than) = le (less or equal)
JSTL JavaServer Pages Standard Tag Library로 Java 웹 애플리케이션을 개발할 때 사용되는 태그 라이브러리 JSP 페이지에서 자주 사용되는 공통 작업을 수앻아는 데 도움을 주는 여러 가지 태그와 함수를 제공하고, 코드를 더 간결하고 유지 관리 가능하게 만들며, JSP 페이지의 가독성을 향상시키는 데 도움을 줌 JSTL 사용법 JSTL을 사용하기 위해서는 라이브러리 파일이 필요한데 아래의 링크에서 다음과 같이 다운로드 받아야 한다 https://mvnrepository.com/artifact/javax.servlet/jstl/1.2 → 위의 링크를 접속하여 jar을 클릭해 다운로드 다운받은 라이브러리 파일을 올려두었으니 아래의 파일을 사용해도 됨 다운로드 받은 라이브러리 ..