您好,登錄后才能下訂單哦!
Spring Boot支持Tomcat、Jetty和Undertow三種Servlet容器嵌入到Web應用程序中,開發者使用starter即可方便嵌入,默認情況下,嵌入服務器的訪問端口為8080。
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.servlet.session.timeout配置session超時時間;
server.servlet.session.store-dir配置session存儲位置;
server.servlet.session.cookie.*配置session的cookie。
Spring Boot盡量統一不容器的配置,但是有些配置是容器特有的,這種情況下可以使用容器特有配置,如server.tomcat,server.undertow。
JSP限制
當采用嵌入式容器時,使用jsp有些限制:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。