springboot入门学习系列- 7自定义springMVC配置-自定义一个拦截器

有些时候我们需要自已配置SpringMVC而不是采用默认,比如说增加一个拦截器,这个时候就得通过继承WebMvcConfigurerAdapter然后重写父类中的方法进行扩展。

 

import java.nio.charset.Charset;

import java.util.List;

 

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.context.annotation.Configuration;

import org.springframework.http.converter.HttpMessageConverter;

import org.springframework.http.converter.StringHttpMessageConverter;

import org.springframework.web.servlet.HandlerInterceptor;

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.config.annotation.InterceptorRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

 

@Configuration //申明这是一个配置

public class MySrpingMVCConfig extends WebMvcConfigurerAdapter{

 

    // 自定义拦截器

    @Override

    public void addInterceptors(InterceptorRegistry registry) {

        HandlerInterceptor handlerInterceptor = new HandlerInterceptor() {

            @Override

            public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)

                    throws Exception {

                System.out.println("自定义拦截器............");

                return true;

            }

           

            @Override

            public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,

                    ModelAndView modelAndView) throws Exception {

               

            }

           

            @Override

            public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,

                    Exception ex) throws Exception {

            }

        };

        registry.addInterceptor(handlerInterceptor).addPathPatterns("/**");

    }

 

    // 自定义消息转化器的第二种方法

    @Override

    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {

        StringHttpMessageConverter converter  = new StringHttpMessageConverter(Charset.forName("UTF-8"));

        converters.add(converter);

    }

}

猜你喜欢

转载自blog.csdn.net/A873054267/article/details/87901939