spring boot 默认使用内嵌 tomcat,通过外部化配置调整端口(server.port)、上下文路径(server.servlet.context-path)、uri 编码(server.tomcat.uri-encoding)、线程数(server.tomcat.max-threads)、临时目录(server.tomcat.basedir)、会话超时(server.servlet.session.timeout)、错误页(server.error.path)及 https(server.ssl.*)等行为。

Spring Boot 默认使用内嵌 Tomcat,配置主要通过外部化属性完成,无需修改代码或引入额外依赖。关键在于理解哪些配置项生效、在哪写、以及它们如何影响运行行为。
基础端口与上下文路径
最常用的是调整访问入口:
-
server.port:指定监听端口,如
server.port=8081;支持 YAML 格式:server: port: 8081 -
server.servlet.context-path:设置应用根路径,比如
server.servlet.context-path=/api,之后所有接口需带/api前缀 - 两者组合后,
http://localhost:8081/api/hello才能访问@GetMapping("/hello")接口
连接与编码相关配置
影响请求处理的底层行为:
-
server.tomcat.uri-encoding:解决中文路径或参数乱码,推荐设为
UTF-8 - server.tomcat.max-threads:控制并发能力,默认 200,高负载场景可调至 500 或更高
- server.tomcat.basedir:指定临时文件和日志目录,避免默认用系统临时目录导致权限或清理问题
会话与错误处理
涉及用户状态和异常响应:
-
server.servlet.session.timeout:单位支持
m(分钟)或s(秒),如30m表示 30 分钟;注意 Tomcat 底层按分钟取整,设119s实际生效为 1 分钟 -
server.error.path:自定义错误页面路径,如
/error,需配合@Controller返回对应视图或 JSON 结构
HTTPS 启用方式
生产环境建议启用:
- 先用
keytool生成证书文件(如keystore.p12) - 在配置中添加:
server.ssl.key-store=classpath:keystore.p12<br>server.ssl.key-store-password=changeit<br>server.ssl.key-store-type=PKCS12<br>server.ssl.key-alias=tomcat
- 此时 HTTP 默认不再监听,如需同时支持,需额外配置 HTTP 连接器(通过
WebServerFactoryCustomizerBean)











