서블릿 필터(Servlet Filter)
WAS = 톰켓 서버
사용자로부터 요청이 들어오면 적절한 소프트웨어를 실행하여 결과를 돌려준다.
서블릿을 실행시 메모리상에 존재하는데 메모리상에 존재하는 공간을 서블릿 컨테이너 라고 WAS는 서블릿을 실행해서 담아놓고 결과를 WAS로 돌려주게된다. 사용하지않으면 삭제된다.
서블릿이라는 것은 주구장창 만들었는데 또다른 서블릿을 만들수있는게 필터 라는 녀석이다.
서블릿 구현하면서
request.setCharacterEncoding(“euc-kr”); 설정 했었는데
한글을 쓰다 보니 사용자로부터 입력을 받을 때 저 설정을 무조건 해야한다. 서블릿을 만들일 이 많아 질텐데 다 저설정을 해야한다.
그렇다면 server.xml 에 들어오는 입력을 euc-kr 로 바꾸면 된다. 톰켓이라는 녀석은 여러 어플리케이션을 동작하는 하나의 컨테이너 한지붕에 여러가족이 살고있는데 우리 가족에 설정에 맞쳐서 모든 설정을 바꾸면 같이 살고있는 가족들이 영향을 받는다 부담스러워서 우리거에 영향을 주고 싶을 때 서블릿마다 이러한 작업을 하는게 불편 ;
중간에 소프트웨어가 있는데 요청이 들어오면 서블릿을 실행하게 되는 가로 채는 역할을 하는데 이것이 먼저 실행되고 나서 servlet 이 실행됨
다음 서블릿이 실행되고 말고를 결정지을수도 있다. 어떤 역할을 담당하는지 접근권한 도 검사도 가능 책임지게 할수 있다 인증,권한도 가능 모든 서블릿이 가지고 있는 기본 설정을 한번만 설정하면 거쳐 가는거니까 서블릿에 다 영향에 줄수도 있다.
먼저 실행되고 하지만 나중에 실행되는 부분도 넣을수있다. 요청이 서블릿으로 가기전에 실행되기도 하지만 나올때도 한번 실행되는 필터 라고 한다.
필터를 만드는 방법과 인코딩 하는방법 서블릿에서는 작업하지않도록 작업해본다.
서블릿.필터 인터페이스 추가 시킨다.