ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • FreeMarker 설정
    [공부] 프로그래밍/Spring・Spring Boot (JAVA) 2024. 4. 3. 15:18

     

    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()를 사용하여 경로 패턴을 설정합니다.

     

    '[공부] 프로그래밍 > Spring・Spring Boot (JAVA)' 카테고리의 다른 글

    ApplicationContext 란  (0) 2024.04.03
    세션 처리  (0) 2024.04.03
    HTTP DELETE 처리  (2) 2024.04.02
    암호화, 복호화 처리  (0) 2024.03.14
    enum  (0) 2024.03.05
Designed by Tistory.