当前位置: 首页 > wzjs >正文

WordPress做的网站源代码引流推广公司

WordPress做的网站源代码,引流推广公司,做网站设计挣钱吗,顺德大良那里做网站好Spring Boot 支持的内嵌服务器详解 1. 支持的内嵌服务器 Spring Boot 默认支持以下内嵌服务器: Tomcat(默认)JettyUndertowNetty(用于 WebFlux 响应式应用) 2. 各服务器使用示例 (1) Tomcat(默认&#xf…

Spring Boot 支持的内嵌服务器详解

在这里插入图片描述


1. 支持的内嵌服务器

Spring Boot 默认支持以下内嵌服务器:

  1. Tomcat(默认)
  2. Jetty
  3. Undertow
  4. Netty(用于 WebFlux 响应式应用

2. 各服务器使用示例

(1) Tomcat(默认)

特点:最广泛使用,适合传统 Spring MVC 应用。

代码示例
<!-- pom.xml(无需额外依赖,Tomcat默认已包含) -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
// 启动类(无需修改)
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

(2) Jetty

特点:轻量级,支持 WebSocket 和嵌入式 JDBC。

代码示例
<!-- pom.xml(排除Tomcat并添加Jetty依赖) -->
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId></dependency>
</dependencies>
// 启动类保持不变
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

(3) Undertow

特点:高性能,非阻塞 I/O,适合高并发场景。

代码示例
<!-- pom.xml(排除Tomcat并添加Undertow依赖) -->
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-undertow</artifactId></dependency>
</dependencies>
// 启动类保持不变
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

(4) Netty(WebFlux 响应式应用)

特点:基于事件驱动,适合异步非阻塞场景(如微服务、高吞吐量 API)。

代码示例
<!-- pom.xml(需切换到WebFlux并添加Netty依赖) -->
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></dependency><dependency><groupId>io.projectreactor.netty</groupId><artifactId>reactor-netty-http</artifactId></dependency>
</dependencies>
// 启动类需标注 @SpringBootApplication 并包含 @EnableWebFlux(可选)
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

3. 配置内嵌服务器的通用方式

所有服务器可通过 application.properties 统一配置:

server.port=8080
server.servlet.context-path=/api
server.tomcat.max-threads=200  # Tomcat 特定配置
server.undertow.io-threads=80  # Undertow 特定配置

4. 对比表格:优缺点分析
服务器适用场景性能特点资源占用线程模型WebSocket 支持文档与生态
Tomcat传统 Spring MVC 应用平衡,成熟稳定中等阻塞 I/O支持最广泛支持
Jetty需要 WebSocket 或轻量级部署中等性能,轻量较低支持非阻塞原生支持较成熟但社区活跃度较低
Undertow高并发、低延迟、高吞吐场景高性能,非阻塞 I/O非阻塞(线程复用)支持适合现代高性能应用
Netty响应式 WebFlux 应用极高性能,异步非阻塞极低事件驱动支持(需配置)需熟悉响应式编程

5. 详细优缺点对比

(1) Tomcat
  • 优点
    • 默认配置,开箱即用。
    • 社区支持广泛,文档丰富。
    • 与传统 Spring MVC 完全兼容。
  • 缺点
    • 高并发下线程数较多,资源占用较高。
    • 非阻塞 I/O 支持有限。

(2) Jetty
  • 优点
    • 轻量级,启动速度快。
    • 原生支持 WebSocket 和嵌入式 JDBC。
    • 适合需要轻量级容器的场景。
  • 缺点
    • 性能略低于 Undertow。
    • 配置选项相对复杂。

(3) Undertow
  • 优点
    • 非阻塞 I/O,适合高并发场景。
    • 资源占用低,内存效率高。
    • 支持 HTTP/2 和 WebSocket。
  • 缺点
    • 部分传统 Spring 特性(如 JSP)支持有限。
    • 配置需熟悉其线程池参数。

(4) Netty
  • 优点
    • 事件驱动模型,适合高吞吐量、低延迟场景。
    • 原生支持响应式编程(WebFlux)。
    • 轻量且高性能。
  • 缺点
    • 需要应用采用响应式编程模型(WebFlux)。
    • 配置和调试复杂度较高。

6. 选择建议
需求推荐服务器理由
传统 Spring MVC 应用Tomcat成熟稳定,无需额外配置。
WebSocket 或轻量级部署Jetty原生支持 WebSocket,启动速度快。
高并发、低延迟 APIUndertow非阻塞 I/O,资源效率高。
响应式 WebFlux 应用Netty与 Reactor 生态无缝集成,性能最优。

7. 示例代码补充

(1) 配置 Undertow 线程池
# application.properties
server.undertow.io-threads=80  # I/O 线程数
server.undertow.worker-threads=64  # 工作线程数

(2) 配置 Jetty WebSocket
// 配置 WebSocket 端点
@Configuration
public class WebSocketConfig {@Beanpublic ConfigurableServletWebServerFactory webServerFactory() {JettyServletWebServerFactory factory = new JettyServletWebServerFactory();factory.addServerCustomizers(server -> {server.setStopAtShutdown(true);// 配置 WebSocket 插件server.setConnectors(new Connector[]{new ServerConnector(server)});server.setHandler(new WebSocketHandler());});return factory;}
}

(3) Netty 响应式应用示例
// 响应式控制器
@RestController
public class UserController {@GetMapping("/users/{id}")public Mono<User> getUser(@PathVariable String id) {return userService.findById(id); // 返回 Mono 对象}
}

8. 注意事项
  1. 切换服务器需排除默认依赖:如从 Tomcat 切换到 Jetty,需在 pom.xml 中排除 spring-boot-starter-tomcat
  2. WebFlux 仅支持 Netty 或 Undertow:若使用响应式编程,需选择非阻塞服务器。
  3. WebSocket 支持:Tomcat、Jetty、Undertow 原生支持,Netty 需通过 WebFlux 配置。

9. 总结

Spring Boot 提供了多种内嵌服务器以适应不同场景:

  • Tomcat:传统应用首选。
  • Jetty:轻量级与 WebSocket 场景。
  • Undertow:高并发与低延迟需求。
  • Netty:响应式架构(WebFlux)必备。

根据应用需求选择合适的服务器,可显著提升性能和资源利用率。

http://www.dtcms.com/wzjs/213689.html

相关文章:

  • 哪些公司做网站开发石家庄今天最新新闻头条
  • 浅谈幼儿园网站的建设与管理杭州seo公司
  • 菏泽网站建设公司有哪些网络事件营销
  • 北京网站设计定制开发建设公司百度模拟搜索点击软件
  • 学校网站管理方案办公软件培训
  • 模板企业网站对seo的理解
  • html5做的网站有哪些独立站谷歌seo
  • 网站开发 免代码网络推广优化网站
  • 如何申请深圳设计公司网站怎么样做seo
  • 效果好的网站建设公司阿里云域名查询
  • 建设部网站资质查询市场营销策划方案范文
  • 大量增加告权重网站友链回提升网站权重吗搜索网站有哪些
  • springmvc技术做网站上海网站推广排名公司
  • 网站建设专今日小说百度搜索风云榜
  • 建立一个网站的流程百度地址
  • 沈阳做网站建设郑州百度推广代理公司
  • 行业网站的特点seo快排公司哪家好
  • 邯郸做网站熊掌号百度竞价怎么收费
  • 建设网站的费用调研郑州企业网站优化排名
  • wordpress登录页面修改密码seo搜索引擎优化的内容
  • 网网站设计网如何做品牌推广方案
  • 免费开网店的一件代发seo海外推广
  • 如何查看一个网站做的外链北京做网页的公司
  • cad图纸免费下载网站百度网盘资源搜索引擎搜索
  • 动漫制作技术专业入门seo优化专员招聘
  • 聊城做网站推广seo系统
  • 网站推广打包百度收录批量提交入口
  • 上海网站建设 数字展厅百度的推广方式有哪些
  • 如何开通小程序店铺百度有专做优化的没
  • 网站开发计划书模板小吃培训2000元学6项