2013년 12월 30일 월요일

Spring Exclude Interceptor

Interceptor와 Filter의 차이는?
Spring의 Interceptor와 Servlet의 Filter의 기능상의 차이는 없다. 지정된 URL이 호출되기 전에 실행된다는 것은 같다.
하지만 호출되는 시점에서 그 차이가 발생한다.

Spring의 DispatcherServlet을 기준으로 Spring 호출 전에 Filter가 호출되고, Interceptor는 Spring의 Controller가 호출되기 전에 실행된다.



Spring Intercepter을 적용하는 방법

HandlerInterceptorAdapter  Class을 상속받아 사용자 Interceptor을 만든다.

Override 메서드는 3가지가 있는데 그 기능은 아래와 같다.
  • preHandle - Controller 실행 요청전
  • postHandle - view(jsp)로 forward되기 전에
  • afterCompletion - 끝난뒤

Spring-Config에 설정
  1. mapping path을 지정하지 않는 경우- “LocaleChangeInterceptor” 처럼 - 모든 URL에 대하여 호출된다.
  2. 특정 URL에 대하여 제외하고 싶은 경우 “exclude-mapping”을 사용한다.
  3. 특정 URL에 대해서만 호출을 지정할수 있다.

<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
<mvc:interceptor>
   <mvc:mapping path="/**"/>
   <exclude-mapping path="/admin/**"/>
   <bean class="org.springframework.web.servlet.theme.ThemeChangeInterceptor" />
</mvc:interceptor>
<mvc:interceptor>
   <mvc:mapping path="/secure/*"/>
   <bean class="org.example.SecurityInterceptor" />
</mvc:interceptor>

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...