在使用 springboot 3.0.5 集成 druid 1.2.16 时,您可能会遇到以下错误:无法访问 Javax.servlet.http.httpservlet。
解决方法:
1. 使用 druid-spring-boot-starter
立即学习“Java免费学习笔记(深入)”;
建议使用 druid-spring-boot-starter,它通过配置即可完成大部分操作。详情请参考官方文档:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
2. 禁用自动配置
若 druid-spring-boot-starter 无法解决问题,可禁用自动配置并手动添加依赖:
<dependency> <groupid>com.alibaba</groupid> <artifactid>druid-spring-boot-starter</artifactid> <version>1.2.16</version> <exclusions> <exclusion> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> </exclusion> </exclusions> </dependency>
3. 添加组件扫描
在禁用自动配置后,需要手动添加组件扫描:
@componentscan(basepackages = "com.alibaba.druid")
4. 修改 servlet 过滤器
由于 springboot 3 从 java ee 迁移到了 jakarta ee,因此需要修改 servlet 过滤器类:
public class DruidWebStatFilter implements javax.servlet.Filter { // .... }
打开 druid 监控页面:
配置完成后,即可访问 druid 监控页面:http://localhost:8080/druid/login.html。默认用户名和密码均为 admin。