English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SpringBoot Starter Web

spring-boot-starter-Web tiene dos funciones importantes:

Compatibilidad con desarrollo web Configuración automática

Si desea desarrollar una aplicación web, debe agregar las siguientes dependencias en el archivo pom.xml:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>

El lanzador web de Spring utiliza Spring MVC, REST y Tomcat como servidores embutidos por defecto. Un solo spring-boot-starter-Las dependencias web se pueden obtener de manera transitiva todas las dependencias relacionadas con el desarrollo web. También reduce el recuento de dependencias de construcción. spring-boot-starter-El web puede transmitirse dependiendo de lo siguiente:

org.springframework.boot: spring-boot-starter org.springframework.boot: spring-boot-starter-tomcat org.springframework.boot: spring-boot-starter-validation com.fasterxml.jackson.core: jackson-databind org.springframework: spring-web org.springframework: spring-webmvc

Por defecto, spring-boot-starter-web incluye las siguientes dependencias del servidor Tomcat:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<version>2.0.0.RELEASE</version>
<scope>compile</scope>
</dependency>

spring-boot-starter-Web autoconfiguración proporciona lo siguiente necesario para el desarrollo web:

servlet programador páginas de error Web JAR utilizado para gestionar dependencias estáticas contenedor servlet嵌入式

servidor web嵌入式 de Spring Boot

cada aplicación Spring Boot incluye un servidor嵌入式. El servidor嵌入式 se integra como parte de la aplicación desplegable. Las ventajas del servidor嵌入式 son que no necesitamos preinstalar el servidor en el entorno. Con Spring Boot, el servidor嵌入式 predeterminado es Tomcat . Spring Boot también admite otros dos servidores embutidos:

servidor Jetty servidor Undertow

usando otros servidores web嵌入式

para pila servletaplicaciones, spring-boot-starter-web mediante el inclusion spring-boot-starter-tomcat para incluir Tomcat pero podemos usar spring-boot-starter-jetty o spring -boot-starter-undertow .

para reactoraplicaciones, spring-boot-starter-webflux que incluye que incluye spring-boot-starter-reactor-netty para implementar Reactor Netty , pero podemos usar spring-boot-starter-tomcat, spring-boot-starter-jetty

servidor Jetty

Spring Boot también admite otro llamado servidor Jetty. Es un servidor HTTP y contenedor Servlet que ofrece funcionalidades para proporcionar contenido estático y dinámico.

si deseas agregar un servidor Jetty a la aplicación,则需要添加 spring-boot-starter-jetty dependencias.

recuerda: . Asegúrate de que, al usar el servidor Jetty en la aplicación, procedas desde excluyendo el servidor Tomcat predeterminado spring-boot-starter-web . Evita conflictos entre servidores.

<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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

también podemos usar application.properties el archivo se utiliza para personalizar el comportamiento del servidor Jetty.

Undertow Server

Spring Boot proporciona otro llamado Undertow es un servidor web嵌入式. También es un servidor web嵌入式 como Jetty. Se escribe en Java, gestionado y patrocinado por JBoss. Las principales ventajas del servidor Undertow son:

soporte para HTTP/2 soporte para HTTP upgrade soporte Websocket proporciona soporte para Servlet 4.0 soporte flexible embeddable

recuerda: : Asegúrate de que, al usar el servidor Undertow en la aplicación, procedas desde spring-boot-en el paquete starterexcluyendo el servidor Tomcat predeterminado -web.evitando conflictos entre servidores.

<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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>

también podemos usar application.properties el archivo se utiliza para personalizar el comportamiento del servidor Undertow.

spring-boot-starter-web vs. spring-boot-starter-tomcat

spring-boot-starter-web incluye dependencias de spring web, entre las que se encuentra spring-boot-starter-tomcat. spring-boot-starter-Web incluye lo siguiente:

spring-boot-starter jackson spring-core spring-mvc spring-boot-starter-tomcat

spring-boot-starter-tomcat Incluye todo lo relacionado con el servidor Tomcat.

core el logging websocket

starter-Tomcat tiene las siguientes dependencias:

<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>8.5.23</version>
 <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>8.5.23</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>8.5.23</version>
<scope>compile</scope>
</dependency>

También podemos usar spring-mvc En lugar de usar el servidor Tomcat integrado. Si queremos hacer esto, necesitamos usar  Marque la exclusión del servidor Tomcat como se muestra en el siguiente código.

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