springboot如何切换内置服务器

springboot如何切换内置服务器

1.首先查看继承关系图

在这里插入图片描述

在这里插入图片描述

2.排除Tomcat依赖

在这里插入图片描述

3.添加jeyyt的依赖实现切换服务器


<!--	此时Tomcat被排除		-->
        <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
<!--			排除Tomcat服务器-->
			<exclusions>
				<exclusion>
					<artifactId>spring-boot-starter-tomcat</artifactId>
					<groupId>org.springframework.boot</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<!--引入jeyyt(服务器)的依赖-->
<!--		 https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jetty -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jetty</artifactId>
		</dependency>

4.启动服务器查看

在这里插入图片描述

### 移除或禁用Spring Boot中的内置Web服务器Spring Boot项目中,默认情况下会嵌入Tomcat作为其默认的Web服务器。如果希望移除或不使用内置的Web服务器,可以通过排除`spring-boot-starter-web`依赖中的嵌入式容器来实现。 #### 修改Maven配置文件 通过修改`pom.xml`文件,可以排除掉默认的嵌入式Tomcat容器并仅保留核心功能。以下是具体的代码示例: ```xml <dependencies> <!-- 排除 Tomcat --> <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> <!-- 如果需要其他Servlet容器支持,可引入Jetty或Undertow --> <!-- Jetty 示例 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency> <!-- Undertow 示例 --> <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-undertow</artifactId> </dependency> --> </dependencies> ``` 上述代码展示了如何从`spring-boot-starter-web`中排除Tomcat,并可以选择替换为其他容器(如Jetty或Undertow)。如果不打算使用任何Servlet容器,则只需保持`spring-boot-starter-web`被正确排除即可[^1]。 #### 配置无Web环境的应用程序 当完全不需要Web服务器时,还可以考虑构建一个非Web应用程序。这通常用于后台服务、批处理作业或其他无需HTTP接口的任务。为此,需调整项目的启动类定义如下所示: ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication(webApplicationType = WebApplicationType.NONE) public class NonWebApp { public static void main(String[] args) { SpringApplication.run(NonWebApp.class, args); } } ``` 这里设置了`webApplicationType`参数为`NONE`,从而明确告知框架当前应用并非基于Web运行[^2]。 #### 使用外部部署方式替代内嵌容器 另一种方法是利用传统的WAR包形式发布到独立安装好的Apache Tomcat或者其他兼容标准的Servlet/JSP引擎上。此时同样需要注意移除原有的starter组件里的tomcat部分以及适当增加对于war打包的支持声明于build工具之中[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值