https://jcp.org/en/jsr/detail?id=315
https://openhome.cc/Gossip/ServletJSP/Configuration.html
https://zhuanlan.zhihu.com/p/81885441
使用Spring Boot免去web.xml
使用Spring Boot进行Web开发的时候,按照官方的推荐都是使用内嵌的Servlet容器,和应用一起打包成jar包部署,当然,我们可以使用传统war包来部署,Main Class只需继承org.springframework.boot.web.servlet.support.SpringBootServletInitializer
即可(启动时会加载所有ServletContainerlnitializer
)。
免去web.xml是通过Servlet 3.0中的javax.servlet.ServletContainerInitializer
来实现的,ServletContainerInitializer
是提供了一个实现和web.xml
类似功能的接口,在应用启动的时候能够通过编程
的方式来注册Servlet、Fileter、Listener的功能。
SpringBoot通过Servlet3.0的这个设计,结合SPI机制,在spring-web
包下发现META-INF/services/javax.servlet.ServletContainerInitializer
实现类:org.springframework.web.SpringServletContainerInitializer
从而进行初始化,包括对DispatcherServlet
的注册,ContextLoaderListener
的注册等等,最终免去web.xml
沒有留言:
張貼留言