zoukankan      html  css  js  c++  java
  • Spring Boot--02MVC设置

    package com.smartmap.sample.ch1.conf;
    
    import java.util.List;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.context.annotation.Configuration;
    import org.springframework.format.FormatterRegistry;
    import org.springframework.format.datetime.DateFormatter;
    import org.springframework.http.converter.HttpMessageConverter;
    import org.springframework.validation.MessageCodesResolver;
    import org.springframework.validation.Validator;
    import org.springframework.web.method.support.HandlerMethodArgumentResolver;
    import org.springframework.web.method.support.HandlerMethodReturnValueHandler;
    import org.springframework.web.servlet.HandlerExceptionResolver;
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.config.annotation.AsyncSupportConfigurer;
    import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
    import org.springframework.web.servlet.config.annotation.CorsRegistry;
    import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
    import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
    import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    import com.smartmap.sample.ch1.entity.User;
    
    @Configuration
    public class MvcConfiguration implements WebMvcConfigurer {
    
        @Override
        public void configurePathMatch(PathMatchConfigurer configurer) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.configurePathMatch(configurer);
        }
    
        @Override
        public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.configureContentNegotiation(configurer);
        }
    
        @Override
        public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.configureAsyncSupport(configurer);
        }
    
        @Override
        public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.configureDefaultServletHandling(configurer);
        }
    
        @Override
        public void addFormatters(FormatterRegistry registry) {
            // TODO Auto-generated method stub
            registry.addFormatter(new DateFormatter("YYYY-MM-dd HH:mm:ss"));
            WebMvcConfigurer.super.addFormatters(registry);
        }
    
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            registry.addInterceptor(new SessionHandlerInteceptor()).addPathPatterns("/admin/**");
            WebMvcConfigurer.super.addInterceptors(registry);
        }
    
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.addResourceHandlers(registry);
        }
    
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            // TODO Auto-generated method stub
            registry.addMapping("/**");
            WebMvcConfigurer.super.addCorsMappings(registry);
        }
    
        @Override
        public void addViewControllers(ViewControllerRegistry registry) {
            // TODO Auto-generated method stub
            registry.addViewController("/index.html").setViewName("login");
            registry.addRedirectViewController("/system/index.html", "/system");
            WebMvcConfigurer.super.addViewControllers(registry);
        }
    
        @Override
        public void configureViewResolvers(ViewResolverRegistry registry) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.configureViewResolvers(registry);
        }
    
        @Override
        public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.addArgumentResolvers(resolvers);
        }
    
        @Override
        public void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> handlers) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.addReturnValueHandlers(handlers);
        }
    
        @Override
        public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.configureMessageConverters(converters);
        }
    
        @Override
        public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.extendMessageConverters(converters);
        }
    
        @Override
        public void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.configureHandlerExceptionResolvers(resolvers);
        }
    
        @Override
        public void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {
            // TODO Auto-generated method stub
            WebMvcConfigurer.super.extendHandlerExceptionResolvers(resolvers);
        }
    
        @Override
        public Validator getValidator() {
            // TODO Auto-generated method stub
            return WebMvcConfigurer.super.getValidator();
        }
    
        @Override
        public MessageCodesResolver getMessageCodesResolver() {
            // TODO Auto-generated method stub
            return WebMvcConfigurer.super.getMessageCodesResolver();
        }
    
        class SessionHandlerInteceptor implements HandlerInterceptor {
    
            @Override
            public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                    throws Exception {
                User user = (User) request.getSession().getAttribute("user");
                if (user == null) {
                    response.sendRedirect("/login.html");
                    return false;
                }
                return HandlerInterceptor.super.preHandle(request, response, handler);
            }
    
            @Override
            public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
                    ModelAndView modelAndView) throws Exception {
                // TODO Auto-generated method stub
                HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
            }
    
            @Override
            public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
                    Exception ex) throws Exception {
                // TODO Auto-generated method stub
                HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
            }
    
        }
    }
  • 相关阅读:
    上学要迟到了【最短路转化】
    解方程【狄利克雷卷积+莫比乌斯反演+积性函数】
    FFT
    min25 筛
    Easy【生成函数】
    CF1406D-Three Sequences
    Alice和Bob赌糖果【赌徒破产模型】
    记MySQL自增主键修改无效的问题
    JVM学习笔记(十一、JDK分析工具)
    JVM学习笔记(十、GC3-垃圾回收机制)
  • 原文地址:https://www.cnblogs.com/gispathfinder/p/8920895.html
Copyright © 2011-2022 走看看