当我使用springboot 3.0.5集成druid1.2.16时,在写配置druid的配置文件ServletRegistrationBean<Servlet> bean = new ServletRegistrationBean(new StatViewServlet(),url);显示的报错信息为java: 无法访问javax.servlet.http.HttpServlet
如何解决无法访问无法访问javax.servlet.http.HttpServlet
如何打开druid的监控页面
既然你使用了
druid-spring-boot-starter
理论上就不应该还要那么多代码,基本都能通过配置搞定。参考下官方文档吧。
https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
自动装配的Bean是这个,但是配置
spring.datasource.druid.stat-view-servlet.enabled: true
后,也没有自动装配。添加
@ComponentScan("com.alibaba.druid")
会加载该类,但会报异常。找不到这个方法
void org.springframework.boot.web.servlet.FilterRegistrationBean.setFilter(javax.servlet.Filter)
,应该是SP3适配的问题,没再细看。https://github.com/alibaba/druid/issues/5187又细看了一下,主要问题是SpringBoot3由Java EE 迁移到 Jakarta EE API。
Druid里面的
StatViewServlet
和WebStatFilter
都是基于javax.servlet
开发,而SP3则是jakarta.servlet
。