SpringBoot——配置嵌入式Servlet容器

本文详细介绍了如何在SpringBoot中配置和定制嵌入式Servlet容器,包括使用Tomcat作为默认容器,通过配置文件和配置类修改服务器设置,以及注册Servlet、Filter和Listener三大组件的方法,提供了具体的步骤和代码示例。
摘要由CSDN通过智能技术生成

1 嵌入式的Servlet 容器

1.1 嵌入式Web服务器

SpringBoot官方文档——嵌入式Web服务器

SpringBoot 的web模块默认 使用 Tomcat 作为嵌入式的 Servlet 容器

UjI4ts.png

如果是外部的Tomcat 服务器,我们想要修改Tomcat的配置,可以直接修改 /conf 目录下的server.xml配置文件。

既然是内嵌的Tomcat 服务器,我们就无法直接修改 /conf 目录下的server.xml配置文件了。

要想修改Servlet容器相关的配置,在SpringBoot中有两种方式可供选择:

  • 一种是在配置文件中修改
  • 还有一种是通过配置类的方式去修改

2 定制和修改 嵌入式Servlet容器 相关配置

2.1 配置文件中修改 Server 相关的配置

Springboot内嵌服务器的相关配置,都在ServerProperties 类中;

配置文件中以server开头的项表示服务器的配置参数,这些参数,包括端口,路径设置,SSL配置参数等等。

application.properties

只需要在application.roperties或者application.yml/yaml中像上面那样就可以轻松的修改掉相关的配置

SpringBoot官方——ServerProperties

server.port=8081
server.servlet.context-path=/crud
 
server.tomcat.uri-encoding=UTF-8
 
// 通用的Servlet容器设置
server.servlet.xxx
// Tomcat的设置
Server.tomcat.xxx

ServerProperties类

具体修改的参数可以查看ServerProperties类,如下源码

ServerProperties 源码
// org.springframework.boot.autoconfigure.web

// Springboot配置文件中以server开头的项表示服务器的配置参数
@ConfigurationProperties(
    prefix = "server",
    ignoreUnknownFields = true
)
public class ServerProperties {
   
    // 服务器端口号
    private Integer port;
    // 虚拟地址
    private InetAddress address;
    // 错误参数配置类
    @NestedConfigurationProperty
    private final ErrorProperties error = new ErrorProperties();
    // 
    private ServerProperties.ForwardHeadersStrategy forwardHeadersStrategy;
    private String serverHeader;
    private DataSize maxHttpHeaderSize = DataSize.ofKilobytes(8L);
    private Shutdown shutdown;
    @NestedConfigurationProperty
    private Ssl ssl;
    @NestedConfigurationProperty
    private final Compression compression;
    @NestedConfigurationProperty
    private final Http2 http2;
    // 
    private final ServerProperties.Servlet servlet;
    private final ServerProperties.Tomcat tomcat;
    // jetty(比较适合做长链接的项目,比如聊天等这种一直要连接的)
    private
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值