FreeMarker 설정 package co.jp.test1.test2.SpringMVCSetting;
import co.jp.test1.test2.util.SessionChecker;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver;
@Configuration
public class testWebMvcConfigurer implements WebMvcConfigurer {
/**
* FreeMarker 설정
*/
@Bean
public ViewResolver viewResolver () {
FreeMarkerViewResolver viewResolver = new FreeMarkerViewResolver();
viewResolver.setCache(false );
viewResolver.setPrefix("" );
viewResolver.setSuffix(".ftlh" );
viewResolver.setContentType("text/html; charset=utf-8" );
return viewResolver;
}
/**
* 세션처리
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 세션 타임아웃 처리
registry.interceptors(new SessionChecker()).excludePathPatterns(
"/api/apiTest*"
, "/css/**"
, "/js/**"
, "/image/**"
, "/Login*"
, "/healthcheck/**"
, "/continuesession/**"
, "/Error*"
, "/error*"
, "/timeout*" );
}
}
◇ 뷰 리졸버 설정: viewResolver() 메서드에서 FreeMarker 뷰 리졸버를 설정합니다. FreeMarker는 템플릿 기반의 뷰 엔진으로, HTML 템플릿과 데이터를 결합하여 동적인 웹 페이지를 생성하는 데 사용됩니다. 이 설정은 뷰 템플릿 파일의 위치와 확장자, 캐시 여부 등을 정의합니다. ◇ 인터셉터 설정: addInterceptors() 메서드를 통해 메서드의 전후에 실행되는 인터셉터를 설정합니다. SessionChecker: 이 인터셉터는 세션이 존재하는지 확인하고, 세션이 존재하지 않을 경우에 대비한 처리를 수행합니다. 로그인, 에러, 타임아웃 페이지를 제외하고 세션 체크를 수행하도록 excludePathPatterns()를 사용하여 경로 패턴을 설정합니다.
공유하기
URL 복사 카카오톡 공유 페이스북 공유 엑스 공유