336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
1️⃣ 필터란?
개요
필터는 서블릿 필터라고 하며 웹 어플리케이션을 지원하기 위한 특수한 서블릿이다.
클라이언트 요청에 따라 서블릿이나 JSP가 실행되기전에 request, response객체를 조작이나 추가 처리가 가능하다.
기본적으로 특정 요청에만 작동하며, 여러개의 필터가 정해진 순서에 따라 배치될수 있다.
이때 클라이언트 요청 처리 이전에 먼저 실행된다.
리스너와 마찬가지로 단순히 기능만 구현하는 웹 프로그램의 경우 필터를 만들지 않아도 된다.
하지만 어플리케이션 설계 관점에서 유연하고 효과적인 어플리케이션 구현 및 운영이 필요하다면
필터에 대해 알아둬야한다.
필터는 기존 코드 변경없이 어플리케이션에서 공통적으로 사용할수있는 구현에 사용된다.
활용 분야
- 인증 : 로그인같은 공통기능을 개별 컨트롤러에서 중복구현하지 않고 기존소스를 활용할수있다.
- 로깅/감시 : 특정페이지나 기능에 대해 감시하고 로그로 관리 필요시 요청수행전 로깅처리 가능.
- 국제화 : 다국어 처리는 필터를 통해 해당 언어로 변환 가능.
- 한글 인코딩처리 : JSP나 post방식으로 전달되는 파라미터의 한글처리를 위해 setcharacterencoding을 안해도 된다.
2️⃣ 필터의 구조와 동작 과정
필터는 톰캣 서버를 시작할때 필터 구현 클래스의 어노테이션을 참조하여
javax.servlet.Filter 인터페이스를 구현한 클래스가 초기화된다.
필터는 여러개가 존재할수있으며, 각 필터는 init()메소드를 통해 초기화 된다.
init() 메소드는 필터 초기화시 한번만 실행된다.
사용자 요청에 따라 서블릿이나 jsp가 호출될때 어노테이션으로 설정된 필터 매핑 정보를 참조해
특정 서블릿이나 jsp에 대해 서로 다른 필터를 적용할수있다.
doFilter()은 해당 필터가 적용되었을때 수행할 작업을 구현하는 메인 메소드가 된다.
destroy()는 필터가 종료될 때 수행할 내용을 구현한다.
3️⃣ 필터 구현
필터 구현은 실제 코드를 작성하며 익히겠다.
[메인으로 돌아가기]
'Java Spring > 책공부 1 (JSP와 스프링)' 카테고리의 다른 글
24. 한글 처리 필터 구현 (0) | 2022.07.15 |
---|---|
23. 리스너 종합 (0) | 2022.07.15 |
21. 리스너 (0) | 2022.07.15 |
20. 뷰 구현 (0) | 2022.07.15 |
19. 컨트롤러 구현 (0) | 2022.07.14 |