传统的Servlet在spring boot中怎么实现的?
Spring Boot 兼容传统 Servlet:类继承 HttpServlet 并重写 doGet、doPost,加 @WebServlet(urlPatterns) 声明 URL 映射,启动类加 @ServletComponentScan 扫描注册,即可替代 web.xml。Filter、Listener 分别用 @WebFilter、@WebListener;还可通过 Spring Bean 或 RegistrationBean 注册,共三种方式。
- @WebServlet(urlPatterns) 替代 web.xml 映射
- @ServletComponentScan 扫描注册 Servlet 组件
- Filter 与 Listener 对应 @WebFilter、@WebListener
- 注册方式共三种:注解、Spring Bean、RegistrationBean
传统的Servlet在spring boot中怎么实现的?
本文主要内容:
1:springboot一些介绍
2:传统的servlete项目在spring boot项目中怎么实现的?web.xml、url-patterns怎么设置?
3:有几种实现方式?分别是什么?
4:代码位置
spring boot 三大特性
组件自动装配:webMVC、webFlux、JDBC等
嵌入式Web容器:Tomcat、Jetty以及undertow
生产准备特性:指标、健康检查、外部化部署等
组件自动装配:
激活自动装配注解:@EnableAutoConfiguration
配置:/META-INF/spring.factories
实现:XXXAutoConfiguration.
我们以spring-boot-autoconfigure的jar下spring.factories为示例:
可以看到key是接口后没是实现。实现就是XXXAutoConfiguration.
嵌入式web 容器:
Web Servlet容器:Tomcat、Jetty以及undertow
Web Reactive容器:Netty Web Server
生产准备特性:
指标:/actuator/metrices
健康检查:/actuator/health
外部化配置:/actuator/configprops
Web应用:
传统的Servlet应用
Servlet组件:Servlet、Filter、listener
Servlet注册到spring boot中:Servlet注解、Spring Bean、RegistrationBean
异步非阻塞:异步Servlet(web 3.0特效)、非阻塞Servlet(servlet 3.1特性)。
来源:凯哥Java(kaigejava)
传统Servelt应用:
一:添加pom依赖
<dependency>
<groupId>org.springframework.
原创不易,完成人机校验,阅读全文
常见问题
Spring Boot项目里没有web.xml文件怎么配置Servlet组件?
用 @WebServlet(urlPatterns = 路径) 注解替代 servlet-mapping 的 url-pattern,再在启动类加 @ServletComponentScan 扫描包即可生效。
Spring Boot项目中注册一个Servlet组件有几种实现方式?
三种:Servlet 注解方式(@WebServlet 加 @ServletComponentScan)、注册为 Spring Bean、以及通过 RegistrationBean 注册。