久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

springboot2.3.1替換為其他的嵌入式servlet容器的詳細方法

瀏覽:12日期:2023-05-06 17:10:13

現階段,springboot內嵌了Tomcat服務器,如果你不想使用Tomcat,springboot也是支持其他的服務器切換的。

如果你想了解底層springboot所支持的服務器你可以使用idea的快捷鍵快速按兩次shift查詢一個ServerProperties 的類,通過這個類你可以知道你想要了解的情況:

springboot2.3.1替換為其他的嵌入式servlet容器的詳細方法

springboot里面支持的服務器有Jetty、Netty…等等,大家有興趣的話可以百度一下。

接著通過在pom文件的視圖依賴分析可以得知:

springboot2.3.1替換為其他的嵌入式servlet容器的詳細方法

springboot里面的Tomcat是在spring-boot-starter-web下,所以我們如果需要切換服務器的話,需要先移除了spring-boot-starter-web里面的Tomcat依賴,再建立你想要切換的服務器。

<!--排除Tomcat starter--> <exclusions><exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId></exclusion> </exclusions> </dependency> <!--引入其他的jetty starter容器--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency>

在嵌入式servlet容器啟動的時候需要先配置一個servlet類繼承HttpServlet并且實現get和post的方法:

package com.example.springbootdemo.servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;/** * @author Think */public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().write('hello,MyServlet'); }}

配置好了之后我們才可以定制自己想要定制的規則springboot1X和springboot2X定制之間會有所差異:2X

/** * 配置嵌入式的servlet容器的相關規則 * @return */ @Bean public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() { return new WebServerFactoryCustomizer<ConfigurableWebServerFactory >() { @Override public void customize(ConfigurableWebServerFactory factory) { //設置服務器啟動的端口號為8090factory.setPort(8090); } }; }

1X

@Beanpublic EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer(){ return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { //設置服務器啟動的端口號為8090 container.setPort(8090); } };}

配置好之后之間重啟一下服務器。在這里給大家展示一下我切換Jetty的運行結果:

springboot2.3.1替換為其他的嵌入式servlet容器的詳細方法

當出現類似紅色方框的字體的時候,說明就配置成功了。如果你想了解更多的底層源碼,你可以到一些學習的網站了解更多比如嗶哩嗶哩、掘金、Stack Overflow…等。springboot會隨著時代的發展而不斷的更新,所以如果版本更新了,這里就可能不是你想要的答案了,那么你需要再繼續去尋找合理的答案。只要不放棄,你想要的答案總是能找到的。

到此這篇關于springboot2.3.1替換為其他的嵌入式servlet容器的詳細方法的文章就介紹到這了,更多相關springboot嵌入式servlet容器內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 琼海市| 桃江县| 北安市| 金秀| 聂拉木县| 元谋县| 承德县| 鄯善县| 镇安县| 香格里拉县| 濮阳县| 郎溪县| 镇远县| 三门峡市| 诏安县| 浑源县| 宁远县| 绥滨县| 兴义市| 英吉沙县| 江达县| 兴海县| 秦皇岛市| 遵义县| 葫芦岛市| 平塘县| 曲阳县| 含山县| 上虞市| 新宁县| 蓬溪县| 遂宁市| 黄冈市| 南城县| 鲁山县| 灵丘县| 巴塘县| 闽侯县| 台南县| 文昌市| 保亭|