当前位置: 首页 > wzjs >正文

石家庄视频网站建设公司seo顾问是什么职业

石家庄视频网站建设公司,seo顾问是什么职业,西安it培训机构,做网站一定要会java吗58、嵌入式Servlet容器切换web服务器与定制化 # 嵌入式Servlet容器切换与定制化 ## 切换Web服务器 ### 1. 原理 Spring Boot默认使用Tomcat作为嵌入式Servlet容器。切换其他容器(如Jetty或Undertow)的原理如下: #### 自动配置类 - ServletWeb…

58、嵌入式Servlet容器切换web服务器与定制化

# 嵌入式Servlet容器切换与定制化

## 切换Web服务器

### 1. 原理

Spring Boot默认使用Tomcat作为嵌入式Servlet容器。切换其他容器(如Jetty或Undertow)的原理如下:

#### 自动配置类

- `ServletWebServerFactoryAutoConfiguration`是关键的自动配置类,负责创建`ServletWebServerFactory`。

#### 条件判断

- 根据项目中引入的依赖,自动配置类会判断系统中存在哪些Web服务器相关的类。

#### 工厂类

- Spring Boot提供了多个`ServletWebServerFactory`实现:

  - `TomcatServletWebServerFactory`

  

  - `JettyServletWebServerFactory`

  

  - `UndertowServletWebServerFactory`

- 根据条件判断,选择相应的工厂类创建对应的Web服务器。

### 2. 切换步骤

#### 排除默认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>

```

#### 添加目标服务器依赖

- **切换为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>

```

重新启动应用,Spring Boot将使用Jetty作为嵌入式Servlet容器。

## 定制嵌入式Servlet容器

### 1. 通过配置文件

在`application.properties`或`application.yml`中配置服务器属性:

```properties

# 修改端口

server.port=8081

# 设置上下文路径

server.servlet.context-path=/myapp

# Tomcat特有配置

server.tomcat.uri-encoding=UTF-8

```

### 2. 实现定制器接口

实现`WebServerFactoryCustomizer`接口,定制`ServletWebServerFactory`:

```java

@Configuration

public class CustomServletContainerConfig implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {

    @Override

    public void customize(ConfigurableServletWebServerFactory factory) {

        // 设置端口

        factory.setPort(8082);

        

        // 设置访问日志

        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;

            

            // 设置Jetty特有配置

            jettyFactory.addServerCustomizers(server -> {

                // 添加连接器配置

                ServerConnector connector = new ServerConnector(server);

                connector.setPort(8083);

                server.addConnector(connector);

            });

        }

    }

}

```

通过以上方式,可以灵活地切换和定制Spring Boot的嵌入式Servlet容器,满足不同的应用需求。

http://www.dtcms.com/wzjs/189142.html

相关文章:

  • 网站维护工作内容有什么如何策划一个营销方案
  • 罗湖附近公司做网站建设哪家好网络推广哪家做得比较好
  • 做女装网站应怎么定位网络营销实践总结报告
  • 贵港做网站建设价格费用百度软文推广怎么做
  • 网站备案号 如何添加最火的网络推广平台
  • 哪里做网站好佛山网站优化服务
  • 营销型公司网站百度学术官网论文查重免费
  • 婚纱设计网站济南做seo的公司排名
  • 网站建设公司哪家好速找盛世传媒郑州网络推广排名
  • app制作教程能独立制作网页优化包括什么
  • 广州网站建设设计公司信息郑州专业seo哪家好
  • 无锡高端网站建设公司杭州百度seo代理
  • 桥西区建设局网站香水推广软文
  • 在什么网站做公务员题目上海优化seo排名
  • 有必要 在线 网页 代理网络优化的三个方法
  • html5标准网站建设seo快速排名软件
  • 在线做c语言题目的网站关键词优化系统
  • 怎么做博客网站企业网站seo案例
  • 个人做网站外包价格如何算东莞网络营销渠道
  • 专做眼镜批发的网站seo服务
  • 临朐网站建设哪家好广州seo公司官网
  • 上海网站建设怎么赚钱友情链接软件
  • 华为300mbps无线扩展器设置网站公司网站的推广
  • 大众点评如何做团购网站app注册推广任务平台
  • 苗木网站建设seo什么意思
  • 抖音代运营是不是诈骗关键词优化公司靠谱推荐
  • 网站主机和服务器的区别短视频推广策略
  • WordPress门户系统广州网站seo
  • 我的网站搜索不到了百度搜一下
  • 中小企业网站制作多少钱产品推广计划怎么写