前言:
這篇文章主要介紹了Spring Boot如何支持嵌入式Servlet容器,對大家的學習或者作業具有一定的參考學習價值,需要的朋友可以參考下,如果需要其他學習資料或教程的,可以點擊進入,暗號:csyy,絕對免費提供!因為資料太多無法全部展示,這只是其中的一點點,需要學習的朋友,可以進來和其他小伙伴一起探討學習!

Spring Boot支持Tomcat、Jetty和Undertow三種Servlet容器嵌入到Web應用程式中,開發者使用starter即可方便嵌入,默認情況下,嵌入服務器的訪問埠為8080,
1、Servlets、Filters & Listeners
這些組件可以同組件掃描注冊,即把他們定義為Spring Bean,
默認情況下,如果只有一個servlet,則把它映射到/;如果有多個servlet,則加上bean name作為前綴然后映射到/*,
如果默認策略不能滿足你,你可以通過ServletRegistrationBean、FilterRegistrationBean和ServletListenerRegistrationBean來完全控制,
如果Filter需要按順序執行,則可以通過@Order注解定義Filter的順序,或者實作Ordered介面,
容器初始化
嵌入式容器不會直接執行Servlet 3.0+ javax.servlet.ServletContainerInitializer或org.springframework.web.WebApplicationInitializer,這是故意為之,是為了防止第三方包程式破壞Spring Boot應用程式,
如果你需要執行容器初始化,可以通過實作注冊一個org.springframework.web.WebApplicationInitializer Bean,這個介面只有一個方法onStartup,這個方法可以訪問ServletContext,
當使用嵌入式容器時,可以通過@ServeltComponentScan啟用@WebServlet,@WebFilter和@WebListener注解,
ServletWebApplicationContext
ServletWebApplicationContext是一個特殊的WebApplicationContext,主要用于嵌入式Servelt,
自定義嵌入式容器
一般Servlet容器的普通配置可以通過Spring的Environment屬性配置,也就是在application.properties檔案中配置,
支持的普通配置:
- 網路設定:server.port服務埠; server.address服務地址,
- Session配置:server.servlet.session.presistent配置是否啟用session;
- server.servlet.session.timeout配置session超時時間;
- server.servlet.session.store-dir配置session存盤位置;
- server.servlet.session.cookie.*配置session的cookie,
錯誤處理: 錯誤頁面的位置server.error.path
ssl
http壓縮
Spring Boot盡量統一不容器的配置,但是有些配置是容器特有的,這種情況下可以使用容器特有配置,如server.tomcat,server.undertow,
JSP限制
當采用嵌入式容器時,使用jsp有些限制:
- 可執行jar不支持jsp
- undertow不支持jsp
結語:
以上就是本文的全部內容,希望對大家的學習有所幫助,如果還需要其他學習資料或者面試資料的,可以點擊進入,暗號:csyy,有大量的資料免費提供!

最后祝大家都能作業順利,學習順利哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/168182.html
標籤:其他
