中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

建個網(wǎng)站 網(wǎng)頁空間多少it培訓(xùn)機(jī)構(gòu)推薦

建個網(wǎng)站 網(wǎng)頁空間多少,it培訓(xùn)機(jī)構(gòu)推薦,如何做百萬格子網(wǎng)站,建設(shè)工程信息網(wǎng)評價起評分58、嵌入式Servlet容器切換web服務(wù)器與定制化 # 嵌入式Servlet容器切換與定制化 ## 切換Web服務(wù)器 ### 1. 原理 Spring Boot默認(rèn)使用Tomcat作為嵌入式Servlet容器。切換其他容器(如Jetty或Undertow)的原理如下: #### 自動配置類 - ServletWeb…

58、嵌入式Servlet容器切換web服務(wù)器與定制化

# 嵌入式Servlet容器切換與定制化

## 切換Web服務(wù)器

### 1. 原理

Spring Boot默認(rèn)使用Tomcat作為嵌入式Servlet容器。切換其他容器(如Jetty或Undertow)的原理如下:

#### 自動配置類

- `ServletWebServerFactoryAutoConfiguration`是關(guān)鍵的自動配置類,負(fù)責(zé)創(chuàng)建`ServletWebServerFactory`。

#### 條件判斷

- 根據(jù)項目中引入的依賴,自動配置類會判斷系統(tǒng)中存在哪些Web服務(wù)器相關(guān)的類。

#### 工廠類

- Spring Boot提供了多個`ServletWebServerFactory`實現(xiàn):

? - `TomcatServletWebServerFactory`

??

? - `JettyServletWebServerFactory`

??

? - `UndertowServletWebServerFactory`

- 根據(jù)條件判斷,選擇相應(yīng)的工廠類創(chuàng)建對應(yīng)的Web服務(wù)器。

### 2. 切換步驟

#### 排除默認(rèn)Tomcat依賴

在`pom.xml`中排除`spring-boot-starter-tomcat`:

```xml

<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>

```

#### 添加目標(biāo)服務(wù)器依賴

- **切換為Jetty**:

? ```xml

? <dependency>

? ? ? <groupId>org.springframework.boot</groupId>

? ? ? <artifactId>spring-boot-starter-jetty</artifactId>

? </dependency>

? ```

- **切換為Undertow**:

? ```xml

? <dependency>

? ? ? <groupId>org.springframework.boot</groupId>

? ? ? <artifactId>spring-boot-starter-undertow</artifactId>

? </dependency>

? ```

### 3. 示例

#### 切換為Jetty

```xml

<dependency>

? ? <groupId>org.springframework.boot</groupId>

? ? <artifactId>spring-boot-starter-web</artifactId>

? ? <exclusions>

? ? ? ? <!-- 排除Tomcat -->

? ? ? ? <exclusion>

? ? ? ? ? ? <groupId>org.springframework.boot</groupId>

? ? ? ? ? ? <artifactId>spring-boot-starter-tomcat</artifactId>

? ? ? ? </exclusion>

? ? </exclusions>

</dependency>

<!-- 引入Jetty -->

<dependency>

? ? <groupId>org.springframework.boot</groupId>

? ? <artifactId>spring-boot-starter-jetty</artifactId>

</dependency>

```

重新啟動應(yīng)用,Spring Boot將使用Jetty作為嵌入式Servlet容器。

## 定制嵌入式Servlet容器

### 1. 通過配置文件

在`application.properties`或`application.yml`中配置服務(wù)器屬性:

```properties

# 修改端口

server.port=8081

# 設(shè)置上下文路徑

server.servlet.context-path=/myapp

# Tomcat特有配置

server.tomcat.uri-encoding=UTF-8

```

### 2. 實現(xiàn)定制器接口

實現(xiàn)`WebServerFactoryCustomizer`接口,定制`ServletWebServerFactory`:

```java

@Configuration

public class CustomServletContainerConfig implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {

? ? @Override

? ? public void customize(ConfigurableServletWebServerFactory factory) {

? ? ? ? // 設(shè)置端口

? ? ? ? factory.setPort(8082);

? ? ? ??

? ? ? ? // 設(shè)置訪問日志

? ? ? ? factory.setAccessLogEnabled(true);

? ? ? ??

? ? ? ? // 其他定制...

? ? }

}

```

### 3. 示例

#### 定制Jetty容器

```java

@Configuration

public class JettyCustomizer implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {

? ? @Override

? ? public void customize(ConfigurableServletWebServerFactory factory) {

? ? ? ? if (factory instanceof JettyServletWebServerFactory) {

? ? ? ? ? ? JettyServletWebServerFactory jettyFactory = (JettyServletWebServerFactory) factory;

? ? ? ? ? ??

? ? ? ? ? ? // 設(shè)置Jetty特有配置

? ? ? ? ? ? jettyFactory.addServerCustomizers(server -> {

? ? ? ? ? ? ? ? // 添加連接器配置

? ? ? ? ? ? ? ? ServerConnector connector = new ServerConnector(server);

? ? ? ? ? ? ? ? connector.setPort(8083);

? ? ? ? ? ? ? ? server.addConnector(connector);

? ? ? ? ? ? });

? ? ? ? }

? ? }

}

```

通過以上方式,可以靈活地切換和定制Spring Boot的嵌入式Servlet容器,滿足不同的應(yīng)用需求。

http://www.risenshineclean.com/news/6883.html

相關(guān)文章:

  • b2b商城網(wǎng)站推廣下載
  • 餐飲公司的網(wǎng)站建設(shè)鄭州高端網(wǎng)站制作
  • 網(wǎng)站建設(shè)簡介聯(lián)系方式哪家建設(shè)公司網(wǎng)站
  • 網(wǎng)站建設(shè)項目合同谷歌瀏覽器安卓版下載
  • 鄭州金水區(qū)建設(shè)局網(wǎng)站廣告營銷推廣
  • 淄博學(xué)校網(wǎng)站建設(shè)定制武漢網(wǎng)站優(yōu)化
  • 學(xué)計算機(jī)的做網(wǎng)站的叫什么工作網(wǎng)站推廣軟件哪個最好
  • 怎樣做服務(wù)型網(wǎng)站萬能軟文范例800字
  • 東莞網(wǎng)站建設(shè)電鍍掛具怎么讓百度快速收錄網(wǎng)站
  • 廣州海珠建網(wǎng)站怎么做好網(wǎng)絡(luò)推廣銷售
  • 做網(wǎng)站在哪個地方買空間網(wǎng)絡(luò)營銷是網(wǎng)上銷售嗎
  • 建筑三級資質(zhì)可承接工程范圍win7優(yōu)化
  • wordpress如何修改評論網(wǎng)頁搜索優(yōu)化seo
  • 絕對域名做網(wǎng)站軟文營銷的概念
  • 沒有網(wǎng)站備案可以做誠信認(rèn)證嘛市場調(diào)研分析報告范文
  • asp.net 企業(yè)網(wǎng)站系統(tǒng)百度站長收錄提交入口
  • 江門網(wǎng)站設(shè)計網(wǎng)站推廣多少錢一年
  • 山東青島疫情最新情況信息流廣告優(yōu)化師
  • 做低價的跨境電商網(wǎng)站百度競價推廣開戶多少錢
  • 如何取消wordpress限制搜索引擎優(yōu)化大致包含哪些內(nèi)容或環(huán)節(jié)
  • 中國建設(shè)銀行網(wǎng)站評價西安關(guān)鍵詞優(yōu)化服務(wù)
  • 免費空間網(wǎng)站推薦百度地圖網(wǎng)頁版進(jìn)入
  • 寧波有哪家公司做網(wǎng)站的2023年火爆的新聞
  • html購物網(wǎng)站重慶關(guān)鍵詞優(yōu)化服務(wù)
  • 珠海企業(yè)網(wǎng)站推廣服務(wù)找關(guān)鍵詞的方法與技巧
  • 網(wǎng)站開發(fā)跟軟件開發(fā)如何在百度搜索到自己的網(wǎng)站
  • 專業(yè)網(wǎng)站設(shè)計開發(fā)網(wǎng)站互聯(lián)網(wǎng)廣告投放代理公司
  • 做h5的網(wǎng)站有哪些php開源建站系統(tǒng)
  • 東莞住房和建設(shè)局網(wǎng)站外貿(mào)業(yè)務(wù)推廣
  • 設(shè)計網(wǎng)站公司為什么都在上海淘寶運營培訓(xùn)多少錢