Filter (필터)란
필터란 HTTP 요청과 응답을 변경할 수 있는 재사용 가능한 코드이다.
필터는 객체의 형태로 존재하며 클라이언트로부터 오는 요청과 최종 자원(JPS, 서블릿, 기타 자원) 사이에 위치하며 클라이언트의 요청 정보를 변경할 수 있다.
Servlet (서블릿)이란
서블릿이란 자바를 사용하여 웹을 만들기 위해 필요한 기술,
클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송해주는 기술
쉽게 예를들면 로그인 시도를 할 때, 서버가 클라이언트에서 입력되는 아이디와 비밀번호를 확인하고 결과를 응답하는데 이러한 역할을 수행하는 것이 서블릿이다.
위의 사진에도 알 수 있듯, 서블릿에도 라이프 사이클이 존재하는데,
이것이 바로 서블릿 라이프 사이클이다.
서블릿 컨테이너는 클라이언트의 요청(Request)을 받아주고 응답(Response)할 수 있게, 웹서버와 소켓으로 통신하는 Tomcat등이 있다.
서블릿이 생성되는 init() 메소드가 호출이 되며, 소멸시에는 destroy() 메소드가 호출이 된다.
가장 중요한 service()는 요청을 처리할 때 호출이 되는 메소드이다.
// init
public void init(ServletConfig config) throws ServletException {
super.init();
}
// destroy
public void destroy() {
super.destroy();
}
// service
protected void service(HttpServletRequest request, HttpServletResponse response) {
super.service(request, response);
}
서비스에는 GET, POST, PUT, DELETE 등의 Http 통신 기능들이 있다.