springboot开发之配置嵌入式Servlet容器两种方式

时间:2022-07-23
本文章向大家介绍springboot开发之配置嵌入式Servlet容器两种方式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

springboot默认使用的是默认的Servlet容器(tomcat)。

如何定制和修改Servlet容器的相关配置?

(1)在主配置文件中修改与server的配置,例如server.port=8081等等

(2)可以修改和tomcat相关的配置,使用server.tomcat.xxx

(3)编写一个WebServerFactoryCustomizer:嵌入式的Servlet容器定制器,来修改Servlet容器的配置。我们可以建一个MyConfig.java

package com.gong.springbootcurd.config;

import com.gong.springbootcurd.component.LoginHandlerInterceptor;
import com.gong.springbootcurd.component.MyLocaleResolver;
import org.springframework.boot.web.server.ConfigurableWebServerFactory;
import org.springframework.boot.web.server.WebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

//@EnableWebMvc 接管springmvc
@Configuration
public class MyMvcConfig implements WebMvcConfigurer{

    @Bean
    public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer(){
        return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() {
            @Override
            public void customize(ConfigurableWebServerFactory factory) {
                factory.setPort(8081);
            }
        };
    }
}

启动服务器之后会发现成功修改了servlet配置: