본문 바로가기
자바웹프로그래밍/servlet

java servlet filter 란?? (자바 서블릿 필터)

by 디찌s 2023. 8. 10.
728x90
반응형

자바 서블릿 필터는 클라이언트 요청을 인터셉트 하거나 전처리할수있다. 또한 , 웹 어플리케이션서버가 클라이언트에 응답할때 인터셉트하여 후처리를 할수있다.

 

 

왜  우리는 서블릿 필터를 사용하는가?

 

일반적인 웹 서버는 누구든지 접근하여 uri를 통해 리소스를 요청하고 응답을 받을수있다. 

 

하지만 웹 서버에는 민감한 자료등이 있고 이 자료들은 꼭 특정 요청(특정 유저)들에게만 access를 허용하고 싶을때가 있을것이다.

 

위와 같은 상황을 개발하기위해 우리는 servlet session 속성을 이용할수있다.

 

 이러한 작업들은 꼭 필터를 이용할 필요는 없지만(각각에 서블릿 안에 위와 같은 작업을 코드로 작성하면됨. 하지만 이렇게하면 유지보수하기가 너무어려워짐.) 가로안에 이유때문에 필터를 이용하여 관리하는것이 유지보수 면에서 훨씬 효율적이므로 사용한다.

 

 

서블릿 필터를 사용하여 할수있는 여러 유용한 기술

 

1.로그 파일에 로그 요청 매개 변수를 기록합니다.
2.리소스에 대한 요청 인증 및 인증.
3.요청 본문 또는 헤더를 서블릿으로 보내기 전의 형식입니다.
4.클라이언트로 보낸 응답 데이터를 압축하는 중입니다.
5.쿠키, 헤더 정보 등을 추가하여 응답을 변경합니다.

 

 

Servelt Filter 인터페이스

 

서블릿 필터 인터페이스는 서블릿 인터페이스와 친숙하다.서블릿 필터 인터페이스는 lifecycle 메소드가 존재한다. 그리고 서블릿 컨테이너에의해 관리된다. 

서블릿 필터 인터페이스 lifecycle은 아래와같다.

 

1. void init(FilterConfig paramFilteConfig): container가 초기화될때 호출된다.

728x90
반응형

'자바웹프로그래밍 > servlet' 카테고리의 다른 글

[Servlet] 서블릿 session? 유지하는법?  (0) 2020.11.12

댓글