• WebMvcConfig


    package cn.xx.yy;

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    @EnableWebMvc
    @Configuration
    public class WebMvcConfig implements WebMvcConfigurer {

    private static final String[] CLASSPATH_RESOURCE_LOCATIONS = new String[]{"classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/static/dist/"};

    /*
    @Bean
    public ServletWebServerFactory servletWebServerFactory(){
    return new TomcatServletWebServerFactory();
    }
    */

    @Bean
    public ServletRegistrationBean servletRegistrationBean() {
    ServletRegistrationBean bean = new ServletRegistrationBean(new DispatcherServlet());
    bean.setOrder(1);
    List<String> urlPattern = new ArrayList<>();
    urlPattern.add("/*");
    bean.setName("dispatcher");
    bean.setUrlMappings(urlPattern);
    return bean;
    }


    @Bean
    public ServletListenerRegistrationBean bootstrapListenerBean(){
    ServletListenerRegistrationBean bean = new ServletListenerRegistrationBean(new BootstrapListener());
    return bean;
    }

    @Bean
    public ServletListenerRegistrationBean contextLoaderListenerBean(){
    ServletListenerRegistrationBean bean = new ServletListenerRegistrationBean(new ContextLoaderListener());
    return bean;
    }

    @Bean
    public FilterRegistrationBean encodingFilterBean() {
    FilterRegistrationBean registration = new FilterRegistrationBean();
    registration.setFilter(new CharacterEncodingFilter());
    registration.setName("encoding");
    Map<String, String> initParam = new HashMap<>();
    initParam.put("encoding", "UTF-8");
    registration.setInitParameters(initParam);
    registration.addUrlPatterns("/*");
    return registration;
    }

    @Bean
    public FilterRegistrationBean metricsFilterBean() {
    FilterRegistrationBean registration = new FilterRegistrationBean();
    registration.setFilter(new MetricsFilter());
    registration.setName("metrics");
    registration.addUrlPatterns("/*");
    return registration;
    }

    @Bean
    public FilterRegistrationBean permissionFilterBean() {
    FilterRegistrationBean registration = new FilterRegistrationBean();
    registration.setFilter(new PermissionFilter());
    registration.setName("permission");
    registration.addUrlPatterns("/*");
    return registration;
    }

    @Bean
    public FilterRegistrationBean seqIdServletFilterBean() {
    FilterRegistrationBean registration = new FilterRegistrationBean();
    registration.setFilter(new SeqIdServletFilter());
    registration.setName("seqIdServlet");
    registration.addUrlPatterns("/*");
    return registration;
    }


    /**
    * 不加这个ok.htm没法显示
    * @param configurer
    */
    @Override
    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
    configurer.favorPathExtension(false);
    }

    /**
    * 增加静态资源处理器
    * @param registry
    */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler(new String[]{"/**"}).addResourceLocations(CLASSPATH_RESOURCE_LOCATIONS);
    }
    }
  • 相关阅读:
    MySQL5.7修改字符集
    MySQL-day1数据库的安装与介绍
    简述Python中的break和continue的区别
    Python实现用户交互,显示省市县三级联动的选择
    Mac升级Node.js和npm到最新版本指令
    vue+Typescript初级入门
    js-md5加密
    create-react-app 工程,如何修改react端口号?
    chrome安装react-devtools开发工具插件
    mac下更新node版本
  • 原文地址:https://www.cnblogs.com/exmyth/p/11093467.html
Copyright © 2020-2023  润新知