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);
            }
    
        }
    }
  • 相关阅读:
    压缩感知的由来
    VS2010自动崩溃问题
    随机过程好书推荐
    Kernel PCA
    稀疏性与L1范数
    豆瓣关于计算机视觉的书评及介绍
    压缩感知测量矩阵的研究现状(转)
    信号的功率谱、能量谱、频谱的区别(转)
    vc++ & matlab 换行符号
    arg min 的含义
  • 原文地址:https://www.cnblogs.com/gispathfinder/p/8920895.html
Copyright © 2011-2022 走看看