在內建的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 ...