서블릿과 비슷한 자바 컴포넌트.
필터를 사용하여 서블릿으로 요청이 넘어가기 전 요청을 가로채어 어떤 처리를 할 수 있으며, 또한 서블릿 작업 완료 후 클라이언트에게 넘어가기 전 어떤 작업을 할 수도 있다.
서블릿 전에 수행될 문장.
chain.doFilter(request, response);
응답 전 수행될 문장.
package filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
@WebFilter("/*")
public class TestFilter implements Filter {
public TestFilter() {
System.out.println("TestFilter 객체 생성");
}
public void destroy() {
// TODO Auto-generated method stub
System.out.println("TestFilter의 destroy()호출");
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("서블릿 수행 전");
chain.doFilter(request, response);
System.out.println("서블릿 수행 후");
}
public void init(FilterConfig fConfig) throws ServletException {
System.out.println("TestFilter의 init() 호출");
}
}
@WebFilter("/*")
@WebFilter("/URI")
uri를 통해 지정페이지에 대해 필터링을 하거나.
서버의 모든 페이지에 대해 필터링이 가능하다.
RECENT COMMENT