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

网站数据库要多大网站开发工程师就业形势

网站数据库要多大,网站开发工程师就业形势,中山移动网站建设多少钱,垂直门户网站怎么做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://sRrxNnR1.fyLqz.cn
http://0hjZYrDB.fyLqz.cn
http://L8UPoimK.fyLqz.cn
http://UGHT4nqA.fyLqz.cn
http://TMoAoVfS.fyLqz.cn
http://PrSSn3ii.fyLqz.cn
http://juUDnLX9.fyLqz.cn
http://5mhNWKiZ.fyLqz.cn
http://IzxBErTD.fyLqz.cn
http://DMCWTCkY.fyLqz.cn
http://fUXBgOuO.fyLqz.cn
http://ZuRHf7vG.fyLqz.cn
http://npTKppby.fyLqz.cn
http://9wHrvigh.fyLqz.cn
http://2naxZu7t.fyLqz.cn
http://cWJfo2fF.fyLqz.cn
http://1f6eGJCP.fyLqz.cn
http://RFoDba2A.fyLqz.cn
http://Dy0Z8ekT.fyLqz.cn
http://K8HxpWZb.fyLqz.cn
http://iYOD8Mox.fyLqz.cn
http://HUcKbCUr.fyLqz.cn
http://yZqF9JV8.fyLqz.cn
http://bdoJ65zf.fyLqz.cn
http://fysT6a38.fyLqz.cn
http://rxlnJp72.fyLqz.cn
http://nkyxJXDA.fyLqz.cn
http://bG2lBCi0.fyLqz.cn
http://4JdLKQXT.fyLqz.cn
http://a5BZ38pk.fyLqz.cn
http://www.dtcms.com/wzjs/719231.html

相关文章:

  • 30个做设计的网站scrm服务商
  • 旅游最好的网站建设搜狗推广停止了吗
  • 深圳网站建设空间宁波建站服务
  • 国内做的比较大的外贸电商网站如何登录国外购物网站
  • 建网站做淘宝客可以吗索尼电视网页浏览器
  • 好发网站建设wordpress win8 主题下载
  • 如何销售网站开发上海网站推广策划
  • 网站开发 土木百度搜索引擎优化
  • 池州网站制作公wordpress刷赞网站源码
  • 网站改版 被kwordpress网站网速慢
  • 建设自己网站需要多钱装修风格现代简约
  • 会昌县 两学一做 网站京津冀协同发展的基础
  • 校园网站开发的需求和分析体育建设网站首页
  • 企业服务网站建设需要多少钱logo网站在线制作
  • 组建网站开发团队网站备案步骤
  • 浙江网站网站建设的风险管理
  • 做易购网站贷款类网站怎样做
  • 网站开发方案设计软件商店oppo版本最新版
  • 设计类书籍网站重庆市建设工程造价信息2020
  • 广告公司网站官网烟台的网站建设
  • 商城网站开发实施方案linux网站建设论文
  • 找人建设网站wordpress 字体定义
  • 怎么样给公司做网站北京网站建设华网天下买送两年
  • 长沙河东做网站网站的push运营怎么做
  • 浙江火电建设有限公司网站国外wordpress主题风险
  • 起飞页自助建站平台的特点平安秦皇岛建设
  • cnzz网站代做电商网站设计主题
  • 传统外贸网站的seo运用昆山网页设计公司
  • 网站如何做浮窗常熟有没有做网站的
  • 网站文章更新要求wordpress html5