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;
    }
  • 相关阅读:
    python-深入学习
    python-第一天学习python
    JMeter-关联、添加压力机、linux下运行、抓包、手机抓包等学习
    python模块---常用模块2
    python模块---常用模块
    python函数--装饰器
    python函数--匿名函数,内置函数,闭包
    python函数--生成器,生成器表达式,列表推导式
    python函数--global,nonlocal ,新格式化输出,迭代器
    python函数--万能参数,形参,名称空间,嵌套,内置函数globals locals ,关键字nonlocal global
  • 原文地址:https://www.cnblogs.com/zouhong/p/11871796.html
Copyright © 2011-2022 走看看