에 등록한다면
	<!-- 우리가 만든 필터 등록 -->
	<filter>
		<filter-name>abcFilter</filter-name>
		<filter-class>com.kh.app19.filter.MyFilter</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>abcFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


@WebFilter(urlPatterns = "/*")
@Component(value = "Filterzzzz")
public class MyFilter implements Filter{
	@Override
	public void init(FilterConfig filterConfig) throws ServletException {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		System.out.println("filter~!~~~!");
		chain.doFilter(request, response);
	}
	@Override
	public void destroy() {
		// TODO Auto-generated method stub
		
	}
}


	<!-- 우리/스프링이 만든 필터 등록 -->
	<filter>
		<filter-name>abc</filter-name>
		<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>abc</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<bean id="abc" class="com.kh.app19.filter.MyFilter">
	</bean>


FILTER


1) 디스패처 서블릿 <-> 컨트롤러 에서의 요청을 가로챈다.
2) 화면을 만들고 나서 ?????
디스패처 서블릿 <- 뷰리졸버 에서의 요청을 가로챈다.뷰 -> html 로 response 에서의 요청을 가로챈다.디스패처 서블릿 -> 컨트롤러 에서의 404에러를 처리하지 못한다.클라이언트 -> 스프링 컨테이너 로 request 에서
/*
 인터셉터 만드는 방법 2가지
 1. HandlerInterceptor 인터페이스 구현하기
 2. HandlerInterceptorAdapter 클래스 상속받기
 */
public class MyInterceptor extends HandlerInterceptorAdapter{
	//인터셉터는 3가지 시점에 관여를 한다.
	//3가지 메소드 ()
	//1) preHandle
	
	//1. handle (컨트롤러 가기) 전에
	//리턴값에 따라 요청 통과시킬지 말지 결정 가능
	//핸들러 : 처리할 메소드 정보 확인 가능
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		System.out.println("preHandle called ...");
		System.out.println("handler : "+handler);
		//HomeController의 home(Locale, Model)가 호출됨
		
		return true;
	}
	
	//2. handle 끝나고
	//리턴값이 없음 -> 우리가 커트할 수 없음
	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		System.out.println("postHandle called~~");
		super.postHandle(request, response, handler, modelAndView);
	}
	
	//3. 화면 넘겨주기 전에
	@Override
	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
		System.out.println("afterCompletion called!!!!!!!!!!!!");
		System.out.println("ex: "+ ex);
		super.afterCompletion(request, response, handler, ex);
	}
}


	<interceptors>
		<interceptor>
			<mapping path="/**"/>
			<!-- 특정 경로만 인터셉트 안함 -->
			<exclude-mapping path="/test"/>
			<beans:bean class="com.kh.app19.interceptor.MyInterceptor"/>
		</interceptor>
	</interceptors>
	@RequestMapping("test")
	@ResponseBody
	public String test() {
		return "test";
	}