zoukankan      html  css  js  c++  java
  • Spring Boot中以代码方式配置Tomcat

    在Spring Boot2.0以上配置嵌入式Servlet容器时EmbeddedServletContainerCustomizer类不存在,经网络查询发现被WebServerFactoryCustomizer替代.

    Spring Boot 1.0中:

    通用配置举例

    @Component
        public static class CustomServletContainer implements EmbeddedServletContainerCustomizer{
         @Override
            public void customize(ConfigurableEmbeddedServletContainer container) {
                container.setPort(8888);//配置端口
                container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));//配置错误页面
                container.setSessionTimeout(10,TimeUnit.MINUTES);//配置用户会话过期时间
            }
         
        }

    特定配置举例

    以Tomcat为例。
     @Bean
        public EmbeddedServletContainerFactory servletContainer() {
            TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
            factory.setPort(8888);
            factory.setSessionTimeout(10, TimeUnit.MINUTES);
            factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));
            return factory;
        }

    在springboot2.0之后

    @FunctionalInterface
    public interface WebServerFactoryCustomizer<T extends WebServerFactory> {
        void customize(T factory);
    }
    package springboot.configure;
    
    import org.springframework.boot.web.server.ConfigurableWebServerFactory;
    import org.springframework.boot.web.server.ErrorPage;
    import org.springframework.boot.web.server.WebServerFactoryCustomizer;
    import org.springframework.http.HttpStatus;
    import org.springframework.stereotype.Component;
    @Component
    public class CustomServletContainer implements WebServerFactoryCustomizer<ConfigurableWebServerFactory>{
    @Override
        public void customize(ConfigurableWebServerFactory factory) {
            factory.setPort(8888);
            factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND,"/404.html"));
        }
    
    }
    @Bean
    public ConfigurableServletWebServerFactory webServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
        factory.setPort(9000);
        factory.setUriEncoding();//只能设置session,session过期时间只能在配置文件中配置
        return factory;
    }
  • 相关阅读:
    GoogLeNet解读
    caffe使用自己的数据做分类
    YOLO2解读,训练自己的数据及相关转载以供学习
    转:SSD详解
    c/c++输入处理,制定变量参数和值
    转载:给bash的提示符设置不同的颜色 一个很常用的功能,效果如下:
    绛河 初识WCF4
    初识WCF3
    初识WCF2
    初识WCF1
  • 原文地址:https://www.cnblogs.com/zouhong/p/11871796.html
Copyright © 2011-2022 走看看