news 2026/7/28 14:42:09

Spring Boot 配置嵌入式Servlet容器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Boot 配置嵌入式Servlet容器

springboot默认tomcat作为嵌入式的servlet容器

1. 修改和server有关的配置
server.port=8082 #通用的servlet容器设置 server.xxx #Tomcat的设置 server.tomcat.xxx
//org.springframework.boot.autoconfigure.web.ServerProperties@ConfigurationProperties(prefix="server",ignoreUnknownFields=true)publicclassServerProperties{/** * Server HTTP port. */privateInteger port;...privatefinalServlet servlet=newServlet();privatefinalTomcat tomcat=newTomcat();...}
2. 注册一个WebServerFactoryCustomizer bean

如果需要以编程方式配置嵌入的servlet容器,可以注册一个实现WebServerFactoryCustomizer接口的SpringBean。WebServerFactoryCustomizer提供对可配置的ServletWebServerFactory的访问,其中包括许多自定义设置器方法。以下示例以编程方式显示如何设置端口:

@ComponentpublicclassCustomizationBeanimplementsWebServerFactoryCustomizer<ConfigurableServletWebServerFactory>{@Overridepublicvoidcustomize(ConfigurableServletWebServerFactory server){server.setPort(9000);}}

TomcatServletWebServerFactory、JettyServletWebServerFactory和UndertowServletWebServerFactory是可配置的ServletWebServerFactory的专用变体,分别为Tomcat、Jetty和Undertow提供了额外的自定义设置方法。
ctrl+h

切换其他servlet容器:
springboot默认使用tomcat,首先去除tomcat依赖:

再引入其他servlet容器

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId></dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-undertow</artifactId></dependency>

如果前面的自定义技术太有限,您可以自己注册TomcatServletWebServerFactory、JettyServletWebServerFactory或UnderownServletWebServerFactory bean。

@BeanpublicConfigurableServletWebServerFactorywebServerFactory(){TomcatServletWebServerFactory factory=newTomcatServletWebServerFactory();factory.setPort(9000);factory.setSessionTimeout(10,TimeUnit.MINUTES);factory.addErrorPages(newErrorPage(HttpStatus.NOT_FOUND,"/notfound.html"));returnfactory;}

在spring boot中会有很多的xxxCustomizer帮助我们进行定制配置

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 14:41:02

终极Wand增强器指南:3种方案彻底解锁专业版功能

终极Wand增强器指南&#xff1a;3种方案彻底解锁专业版功能 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wand-Enhancer是一款专为Wand&#xff…

作者头像 李华
网站建设 2026/7/28 14:40:31

C++链接错误:undefined reference to vtable 的根源与解决方案

1. 问题引入&#xff1a;当链接器开始抱怨你的虚函数表 如果你在用C写一个稍微复杂点的项目&#xff0c;尤其是涉及到类继承和多态时&#xff0c;大概率会在编译链接阶段遇到这个让人头疼的错误&#xff1a; undefined reference to vtable for ‘ClassName’ 。我第一次遇到…

作者头像 李华
网站建设 2026/7/28 14:39:45

Android SDK包下载分享

博客地址&#xff1a; https://blog.csdn.net/yangzhenping/article/details/43304009

作者头像 李华