Java/Spring

INTERCEPTOR

amungstudy 2023. 8. 14. 11:57

Filter 생성 시

배포서술자에 작성하는 대신 클래스에 어노테이션으로 등록할 수 있다.

 

@WebFilter(urlPatterns = "/*") //배포서술자에 안쓰고 여기서 등록
public class PrintFilter implements Filter{.........................................................................대략 내용..........}

 

INTERCEPTOR는 스프링 컨테이너에서 관리하므로 spring bean을 사용할 수 있다.

(filter는 bean사용못함) 

 

INTERCEPTOR 구현하기

1. implements HandlerInterceptor 를 한 인터셉터 클래스 생성.

2.

spring bean configuration 으로 파일 new!

 

spring/appServlet/interceptor-context.xml 이렇게 만듬.

 

<bean id="testInterceptor"
  class="com.bitc.mvc.interceptor.TestInterceptor" />
 <mvc:interceptors>
 <mvc:interceptor>
  <mvc:mapping path="/**" /> //요청 오는 경로  (ex.path="/test1")

 <mvc:exclude-mapping path="/"/> // 제외하고 싶은 경로(없어도 됨)
  <ref bean="testInterceptor"/>
 </mvc:interceptor>
 </mvc:interceptors>

 

3. 배포서술자에 servlet 추가 (패턴 사용 가능 ex. *-context.xml)

<param-value>/WEB-INF/spring/appServlet/servlet-context.xml
/WEB-INF/spring/appServlet/interceptor-context.xml
</param-value>