SpringBoot配置嵌入式Servlet容器

2021-10-04 23:06:09 字數 4382 閱讀 3851

在內建的tomcat中,不再有web.xml檔案可以供我們修改,那麼我們應該怎樣去修改servlet容器相關的配置呢?在springboot中有兩種方式可供選擇,一種是在配置檔案中修改,還有一種是通過配置類的方式去修改

server.port=

8081

server.servlet.context-path=

/crud

server.tomcat.uri-encoding=utf-

8// 通用的servlet容器設定

server.servlet.***

// tomcat的設定

server.tomcat.***

除了像上面那樣在配置檔案中修改以外,還可以自己編寫配置類去修改,我們可以編寫乙個返回值為embeddedservletcontainercustomizer(springboot2.0將其替換成了webserve***ctorycustomizer)的方法放到我們自定義的配置類中來進行修改,不過在springboot1.x跟springboot2.x版本中有所不同

springboot1.x:

@bean  //一定要將這個定製器加入到容器中

public embeddedservletcontainercustomizer embeddedservletcontainercustomizer()

};}

springnoot2.x:

// servlet容器配置器

// post方法

使用註解配置

當然,除了像上面那樣在配置類中註冊我們自定義的三大元件以外,還可以通過註解的方式去配置

@servletcomponentscan

public

class

}

配置servlet

在我們自己的servlet類上配置@webservlet(name = "cus", urlpatterns = "server")註解即可

配置listener

在我們自己的listener上配置@weblistener即可

以上就是使用註解去配置三大元件

springboot預設使用的是tomcat,那麼能不能切換成其他的容器呢?這個當然是沒問題的,而且切換的方式也很簡單,只需要引入其他容器的依賴,將當前容器的依賴排除即可

切換其他容器

org.springframework.boot<

/groupid>

spring-boot-starter-web<

/artifactid>

spring-boot-starter-tomcat<

/artifactid>

org.springframework.boot<

/groupid>

<

/exclusion>

<

/exclusions>

<

/dependency>

<

!-- 引入其他的servlet容器 --

>

org.springframework.boot<

/groupid>

spring-boot-starter-jetty<

/artifactid>

<

/dependency>

undertow(不支援jsp,但是是乙個高效能的非阻塞的servlet容器,併發效能非常好)

引入undertow的方式同jetty一樣

org.springframework.boot<

/groupid>

spring-boot-starter-web<

/artifactid>

spring-boot-starter-tomcat<

/artifactid>

org.springframework.boot<

/groupid>

<

/exclusion>

<

/exclusions>

<

/dependency>

<

!-- 引入其他的servlet容器 --

>

org.springframework.boot<

/groupid>

spring-boot-starter-undertow<

/artifactid>

<

/dependency>

只需像上面那樣在pom.xml檔案中簡單的引入依賴就可以切換容器了,不再需要做額外的操作

嵌入式的servlet容器雖然用的挺爽,但是有時候也離不開外接的servlet容器,首先我們來比較一下嵌入式跟外接的有優缺點

嵌入式servlet容器:應用打成jar包

外接的servlet容器:外面安裝tomcat,將應用打成war包的方式-

建立步驟

org.springframework.boot<

/groupid>

spring-boot-starter-tomcat<

/artifactid>

provided<

/scope>

<

/dependency>

2、編寫了乙個類繼承於springbootservletinitializer,並過載了configure方法

public

class

servletinitializer

extends

springbootservletinitializer

}

(七)SpringBoot嵌入式Servlet

修改 yml檔案 server.port等 編寫乙個embeddedservletcontainercustomizer 嵌入式的servlet容器定製器,來修改servlet容器配置 監聽servletcontext啟動初始化 override public void contextinitial...

初識嵌入式 嵌入式開發概述

1 什麼是嵌入式技術 1 嵌入式軟體與非嵌入式軟體的區別?答 嵌入式軟體是結合作業系統之上做的開發 非嵌入式軟體是做的裸機開發。裸機 沒有作業系統 2 嵌入式開發與微控制器開發的區別?答 區別 是否有作業系統。拓展 答 優點 解決了軟體的移植性 解決了開發人員的能力的劃分問題。提供了豐富的網路協議 ...

嵌入式linux配置靜態IP

設定ip sudo vi etc network inte ces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.221 netmask 255.255.255.0 gateway ...