Spring Boot如何支持嵌入式Servlet容器?本篇文章小编给大家分享一下Spring Boot支持嵌入式Servlet容器方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
Spring Boot支持Tomcat、Jetty和Undertow三种Servlet容器嵌入到Web应用程序中,开发者使用starter即可方便嵌入,默认情况下,嵌入服务器的访问端口为8080。
Servlets、Filters & psteners
这些组件可以同组件扫描注册,即把他们定义为Spring Bean。
默认情况下,如果只有一个servlet,则把它映射到/;如果有多个servlet,则加上bean name作为前缀然后映射到/*。
如果默认策略不能满足你,你可以通过ServletRegistrationBean、FilterRegistrationBean和ServletpstenerRegistrationBean来完全控制。
如果Filter需要按顺序执行,则可以通过@Order注解定义Filter的顺序,或者实现Ordered接口。
容器初始化
嵌入式容器不会直接执行Servlet 3.0+ javax.servlet.ServletContainerInitiapzer或org.springframework.web.WebApppcationInitiapzer,这是故意为之,是为了防止第三方包程序破坏Spring Boot应用程序。
如果你需要执行容器初始化,可以通过实现注册一个org.springframework.web.WebApppcationInitiapzer Bean。这个接口只有一个方法onStartup,这个方法可以访问ServletContext。
当使用嵌入式容器时,可以通过@ServeltComponentScan启用@WebServlet,@WebFilter和@Webpstener注解。
ServletWebApppcationContext
ServletWebApppcationContext是一个特殊的WebApppcationContext,主要用于嵌入式Servelt。
自定义嵌入式容器
一般Servlet容器的普通配置可以通过Spring的Environment属性配置,也就是在apppcation.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
忍者必须死34399账号登录版 最新版v1.0.138v2.0.72
下载勇者秘境oppo版 安卓版v1.0.5
下载忍者必须死3一加版 最新版v1.0.138v2.0.72
下载绝世仙王官方正版 最新安卓版v1.0.49
下载Goat Simulator 3手机版 安卓版v1.0.8.2
Goat Simulator 3手机版是一个非常有趣的模拟游
Goat Simulator 3国际服 安卓版v1.0.8.2
Goat Simulator 3国际版是一个非常有趣的山羊模
烟花燃放模拟器中文版 2025最新版v1.0
烟花燃放模拟器是款仿真的烟花绽放模拟器类型单机小游戏,全方位
我的世界动漫世界 手机版v友y整合
我的世界动漫世界模组整合包是一款加入了动漫元素的素材整合包,
我的世界贝爷生存整合包 最新版v隔壁老王
我的世界MITE贝爷生存整合包是一款根据原版MC制作的魔改整