日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot配置嵌入式Servlet容器

發布時間:2025/3/21 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot配置嵌入式Servlet容器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SpringBoot默認使用的是Tomcat作為嵌入式的Servlet容器,那么肯定會和外置的Tomcat有區別,那么就這些區別來談一談SpringBoot中對于容器的一些配置操作

如何定制和修改Servlet容器的相關配置
在內置的Tomcat中,不再有web.xml文件可以供我們修改,那么我們應該怎樣去修改Servlet容器相關的配置呢?在SpringBoot中有兩種方式可供選擇,一種是在配置文件中修改,還有一種是通過配置類的方式去修改

配置文件中修改(具體修改的參數可以查看ServerProperties類)

server.port=8081
server.servlet.context-path=/crud

server.tomcat.uri-encoding=UTF-8

// 通用的Servlet容器設置
server.servlet.xxx
// Tomcat的設置
Server.tomcat.xxx
只需要在application.roperties或者application.yml/yaml中像上面那樣就可以輕松的修改掉相關的配置

編寫配置類(配置方法)
除了像上面那樣在配置文件中修改以外,還可以自己編寫配置類去修改,我們可以編寫一個返回值為EmbeddedServletContainerCustomizer(SpringBoot2.0將其替換成了WebServerFactoryCustomizer)的方法放到我們自定義的配置類中來進行修改,不過在SpringBoot1.x跟SpringBoot2.x版本中有所不同

SpringBoot1.x:

@Bean //一定要將這個定制器加入到容器中
public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer(){
return new EmbeddedServletContainerCustomizer() {

//定制嵌入式的Servlet容器相關的規則@Overridepublic void customize(ConfigurableEmbeddedServletContainer container) {container.setPort(8083);} };

}
SpringNoot2.x:

// Servlet容器配置器
@Bean
public WebServerFactoryCustomizer webServerFactoryCustomizer(){
return new WebServerFactoryCustomizer(){
@Override
public void customize(ConfigurableWebServerFactory factory) {
factory.setPort(8081);
}
};
}
如何注冊Servlet、Filter、Listener三大組件
(1)、ServletRegistrationBean
首先書寫自己的Servlet(要繼承HttpServlet類)
Servlet
將我們自己寫的Servlet注冊
register Servlet
(2)、FilterRegistrationBean
書寫自己的Filter(實現Filter接口)
Filter
將我們自己寫的Filter注冊
register Filter
(3)、ServletListenerRegistrationBean
定義我們自己的Listener(實現ServletContextListener接口)
Listener
注冊Listener
register Listener
使用注解配置
當然,除了像上面那樣在配置類中注冊我們自定義的三大組件以外,還可以通過注解的方式去配置

首先,在SpringBoot主配置類上標注@ServletComponentScan
想要使用三大組件的注解,就必須先在SpringBoot主配置類(即標注了@SpringBootApplication注解的類)上標注@ServletComponentScan注解

@ServletComponentScan
@SpringBootApplication
public class DemoApplication {

public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args); }

}
然后就可以開始配置了

配置Servlet
在我們自己的Servlet類上配置 @WebServlet(name = “cus”, urlPatterns = “server”) 注解即可

配置Filter
在我們自己的Filter上配置 @WebFilter(filterName = “fil”, urlPatterns = {"/server", “/hello”}) 注解即可

配置Listener
在我們自己的Listener上配置 @WebListener 即可

以上就是使用注解去配置三大組件

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

切換其他容器
jetty(比較適合做長鏈接的項目,比如聊天等這種一直要連接的)
想要將容器從Tomcat切換到jetty,在pom.xml文件中導入相關依賴即可

org.springframework.boot spring-boot-starter-web spring-boot-starter-tomcat org.springframework.boot org.springframework.boot spring-boot-starter-jetty undertow(不支持JSP,但是是一個高性能的非阻塞的Servlet容器,并發性能非常好) 引入undertow的方式同jetty一樣 org.springframework.boot spring-boot-starter-web spring-boot-starter-tomcat org.springframework.boot org.springframework.boot spring-boot-starter-undertow 只需像上面那樣在pom.xml文件中簡單的引入依賴就可以切換容器了,不再需要做額外的操作

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

嵌入式Servlet容器:應用打成jar包
優點:簡單、便攜
缺點:默認不支持JSP、優化定制比較復雜(使用定制器【ServerProperties、自定義WebServerFactoryCustomizer】,自己編寫嵌入式Servlet容器的創建工廠)

外置的Servlet容器:外面安裝Tomcat,將應用打成war包的方式
外置的Sverlet的缺點也很明顯,那就是使用起來復雜,但是沒有內置的那些缺點,相反這些內置的缺點反而是它的優點

創建項目
首先要創建一個項目,使用war的方式打包

創建webapp文件夾
點擊圖示按鈕

來到Modules下的web

雙擊后會彈出一個框框

我們點擊OK

詢問是否創建webapp,點擊yes即可

創建web.xml
點擊圖示按鈕

點擊web.xml

填寫生成位置

點擊OK然后應用即可

可以看到已經創建完成

之后配置下Tomcat就可以啟動項目了

變化
1、將嵌入式的Tomcat指定為了provided

org.springframework.boot spring-boot-starter-tomcat provided 2、編寫了一個類繼承于SpringBootServletInitializer,并重載了configure方法

public class ServletInitializer extends SpringBootServletInitializer {

@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { // 傳入SpringBoot應用的主程序 return application.sources(DemoApplication.class); }

}

總結

以上是生活随笔為你收集整理的SpringBoot配置嵌入式Servlet容器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲欧美成人一区二区 | 欧美一级艳片视频免费观看 | 99亚洲视频 | av导航网址 | 亚洲人成7777 | 伊人久久亚洲 | 99er精品视频 | 日韩欧美国产一区二区三区 | 在线中文字幕第一页 | 日韩成人一区二区视频 | 国产 欧美 日韩 在线 | 国产黄色免费观看 | 中文在线观看免费网站 | 自拍视频在线观看 | 欧美在线视频一区二区三区 | 在线国产一区 | 亚洲成人一区在线观看 | 麻豆国产尤物av尤物在线观看 | 欧美 国产 精品 | hs视频在线观看 | 亚洲欧美日韩一区二区三区四区 | 免费黄色的网站 | 性xxxx狂欢老少配o | 国产欧美日韩高清 | 国产乱子伦视频一区二区三区 | www.色网 | 性——交——性——乱免费的 | 亚洲青草视频 | 国产一区二区精彩视频 | 国产精品av在线播放 | 黄色一级片免费 | 欧美精品一区二区视频 | 日韩欧美午夜 | 欧美日韩精品一区二区在线观看 | 天天干天天日夜夜操 | 777精品久无码人妻蜜桃 | 中国少妇乱子伦视频播放 | 中文在线观看av | 亚洲成人欧美 | 亚洲人成在线免费观看 | 最近最新mv字幕观看 | 欧美两根一起进3p做受视频 | 久久午夜剧场 | 成人免费视频网 | 女女互慰吃奶互揉调教捆绑 | 久草中文视频 | 草色噜噜噜av在线观看香蕉 | 日本不卡不卡 | 成人亚洲在线 | 色播激情 | 国产涩涩 | 日韩精品一区二区亚洲av | 淫品色影院 | 成人激情四射网 | 欧美日韩大陆 | 在线免费观看日本 | 久久久91精品 | 精品国产精品网麻豆系列 | 青青草免费av | 精品久久久久久亚洲 | 中国在线观看片免费 | 日韩av中文字幕在线播放 | 日韩精品一卡二卡 | 亚洲影院av| 在线观看国产黄色 | 国产三级国产精品国产专区50 | 欧美日韩片 | 色婷婷色丁香 | 国产精选视频在线观看 | 日韩伦理大全 | 91狠狠爱 | 国产精品无码av在线有声小说 | 黄色片免费在线观看 | 超级砰砰砰97免费观看最新一期 | 亚洲国产经典 | 亚洲国产中文字幕在线观看 | av每日更新 | 久久泄欲网 | 成人手机视频在线观看 | 99久久人妻无码中文字幕系列 | 色久综合网 | 爱爱视频日本 | 国产精品免费一区二区三区都可以 | 人人精品久久 | 亚洲精品视频久久久 | 成人在线免费播放 | 青娱乐免费在线视频 | 亚洲专区一区二区三区 | 亚洲天堂一级片 | 亚洲成人18 | 青青久操| 亚洲精品 欧美 | 亚洲国产成人精品激情在线 | 国产在线国偷精品免费看 | 玖草视频在线观看 | 99爱免费 | 午夜少妇视频 | 亚洲AV无码国产成人久久 | 亚洲天堂av免费在线观看 |