본문 바로가기

이전 게시물들/JSP

[JSP] 필터 (로그 기록하기)

1. 필터(filter)

- 클라이언트와 서버 사이에서 요청, 응답을 정적 리소스보다 먼저 받아 공통적으로 필요한 부분을 처리하는 것

*요청, 응답: request와 response 객체

*정적 리소스: 서버의 서블릿, JSP, HTML 페이지 등

*공통적으로 필요한 부분: 사전/사후 작업 등

- 여러개의 필터로 이루어진 필터 체인도 있다.

- 자바 클래스로 구현

 

1.1 Request 필터

- 인증(사용자 인증), 요청 정보를 로그 파일로 작성, 암호화 인코딩 작업

 

1.2 Response 필터

- 응답 결과 데이터 압축, 응답 결과에 내용 추가/수정, 총 서비스 시간 측정

 

1.3 Filter 인터페이스

- 필터 기능 구현에 핵심 역할

- javax.servlet.Filter

- FilterConfig, FilterChain 객체와 함께 쓰임

1.3.1 메소드

init(...) 필터 인스턴스의 초기화 메소드
doFilter(...) 필터 기능을 작성하는 메소드
destroy(...) 필터 인스턴스의 종료 전에 호출되는 메소드

 

1.4 web.xml 파일의 필터 구성

- 필터를 사용할 때 어떤 필터가 어떤 리소스에 적용되는지 JSP 컨테이너에 알려주어야 함 (web.xml)

<filter>
	<filter-name>...</filter-name>
	<filter-class>...</filter-class>
	[<init-param>
		<param-name>...<param-name>
		<param-value>...<param-value>
	</init-param>]
</filter>

<filter-mapping>
	<filter-name>...</filter-name>
	<url-pattern>...</url-pattern>
</filter-mapping>

 

<filter-name> 필터 이름 설정
<filter-class> 자바 클래스 이름 설정
<init-param> 매개변수와 값 설정
<url-pattern> URL 패턴 설정