1. 서블릿(Servlet)
: HTTP요청을 처리하는 자바 클래스 (JSP파일은 서버가 실행될때 자동으로 자바 서블릿 코드로 변환됨)
2. 디스패쳐서블릿(Dispatcher Servlet)
: 스프링MVC프레임워크에서 제공하는 서블릿. 모든 HTTP요청을 가장 먼저 받아서, 어떤 컨트롤러가 처리할지 분배(dispatch)하는 역할
3. 서블릿 컨테이너(servlet Container)
: 서블릿을 실행시키는 서버환경. HTTP요청을 받아 적절한 서블릿에 전달하고, 서블릿이 생성한 응답을 다시 클리이언트에게 전달해줌 (ex. Tomcat, WebLogic, JEUS 등)
1. 서블릿필터 (서블릿 컨테이너 레벨)
java.servlet.Filter
<filter>
<filter-name>testFilter</filter-name>
<filter-class>com.example.TestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>testFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
@WebFilter("/*")
public class MyFilter implements Filter {
@Override
public void doFilter(...) {
System.out.println("필터 호출됨!");
...
}
}
2. 스프링필터
@component
, FilterRegistrationBean
으로 등록해서 사용