中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot2.3.1如何替換為其他嵌入式servlet容器

發布時間:2020-07-10 10:59:49 來源:億速云 閱讀:197 作者:清晨 欄目:開發技術

這篇文章將為大家詳細講解有關springboot2.3.1如何替換為其他嵌入式servlet容器,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

現階段,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) {
      	//設置服務器啟動的端口號為8090
        factory.setPort(8090);
      }
    };
  }

1X

@Bean
public 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容器就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳新县| 合肥市| 陈巴尔虎旗| 平南县| 青川县| 大安市| 会同县| 昌图县| 宜宾县| 潞城市| 永仁县| 霍林郭勒市| 高陵县| 内乡县| 沙坪坝区| 汉寿县| 忻州市| 临桂县| 留坝县| 滦平县| 周口市| 茌平县| 遂平县| 文昌市| 谷城县| 南澳县| 青岛市| 丹阳市| 应用必备| 伊春市| 黔东| 防城港市| 资兴市| 承德县| 嘉黎县| 惠州市| 定州市| 武城县| 萨迦县| 冀州市| 肥西县|