我正在使用Spring Boot 2.4.4,我会将默认Web服务器Tomcat更改为undertow或JHetty,但我发现同时使用Gradle或Maven非常困难。
一份旧的文档介绍了如何做到这一点,但我确信一切都改变了,因为现在tomcat、undertow和jetty配置嵌入到核心库中:
https://docs.spring.io/spring-boot/docs/2.1.9.RELEASE/reference/html/howto-embedded-web-servers.html
在2.4.4版本中是如何做到的?
按照三个步骤来更改默认web服务器,在pom.xml中更改配置。
1.排除默认web服务器。
2.包括必要的网络服务器。
3.专家更新。
举个例子,
而不是这个
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
加上这个
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
对于必要的服务器,添加适当的web服务器依赖项。
版本之间没有变化。这在Spring Boot 2.4.4参考指南中得到了很好的描述,就在3.1中。使用另一个Web服务器部分。基本上,更改包括两个步骤:
sping-boot-starter-web
工件中排除嵌入式Tomcat服务器依赖项:<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<!-- Exclude the Tomcat dependency -->
<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>
请不要忘记注意参考指南中同一章节中的以下引语,这些引语可能与您相关,也可能与您无关:
Servlet API 的版本已被覆盖,因为与 Tomcat 9 和 Undertow 2.0 不同,Jetty 9.4 不支持 Servlet 4.0。
我使用的是tomcat,每当我转到一个servlet无法处理的方向时,我都想做其他事情,比如显示默认错误: 我在哪里可以处理这个问题¿? 先谢谢你了
问题内容: 我想在侦听器中指定可侦听的默认端口。是否有比在内部解析并插入配置的端口更容易的修复方法? 目标是运行时不必每次都指定地址和端口,而要从中获取参数。 问题答案: 使用以下命令创建一个bash脚本: 将其保存为runserver并与manage.py放在同一目录中 并运行为
我是AWS安装新手:以下是我安装Django web服务器所遵循的步骤。(但它不在公共ip上运行) > 创建AWS实例 安装了Django 1.6.2 创建示例应用程序 添加了运行HTTP实例的安全组(入站请求)-TCP-80-0.0.0.0/0 尝试以下方法运行服务器。 python管理。py runserver 0.0.0.0:8000 Pythonmanage.pyrunserver ec2
如何更改@kafkastreamssstatestore的默认serdes?我知道,在Kafka流云的新版本3.0.1中,方法如下所述:https://cloud.spring.io/spring-cloud-static/spring-cloud-stream-binder-kafka/3.0.1.RELEASE/reference/html/spring-cloud-stream-binder
我必须测试一个由spring和jsp编写的web应用程序。应用程序的默认会话超时为30分钟。 我想减少会话超时。为此,我更改了中的文件。但是它不起作用。中的默认配置是- 我刚刚改变了时间- 但仍然不起作用。据我所知,在这种情况下,我必须对spring应用程序的web进行更改。xml。但我不确定。有人能帮我吗? 提前谢谢。
问题内容: 如何更改默认外壳?该命令当前显示: 我想将其更改为Bash。 问题答案: 尝试linux命令。 详细命令为。它将提示您输入密码。您的默认登录Shell 现在是。 您必须注销并重新登录才能看到此更改。 手册页中引用了以下内容: chsh命令更改用户登录外壳。这确定了用户初始登录命令的名称。普通用户只能为自己的帐户更改登录外壳,超级用户可以为任何帐户更改登录外壳 此命令将永久更改默认登录外