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
火柴人绳索英雄2无限金币版 (Stickman Rope Hero 2)安卓版v2.2v3.4.2
下载奥特曼之格斗超人内测版本 安卓最新版v11.0.0
下载奥特曼之格斗超人百度版 安卓版v11.0.0
下载奥特曼之格斗超人4399游戏盒版 最新安卓版v11.0.0
下载德凯奥特曼D闪光剑模拟器 安卓版v1.0
德凯奥特曼D闪光剑模拟器是一个非常有趣的奥特曼变身模拟器,可
亚刻觉醒器 安卓版v1.1
亚刻觉醒器模拟器是一个非常有趣的奥特曼变身模拟器,为喜欢亚刻
海上餐厅无限金币版 v1.0
海上餐厅免广告版是游戏的破解版本,在该版本中为玩家去除了广告
阿西美女室友竟然全解锁版 v1.0.2
阿西美女室友竟然内置菜单版是游戏的破解版本,在该版本中为玩家
我是大东家正版 最新版v1.2.738
我是大东家正版是一款放置类模拟经营手游,玩家将回到古代成为家