异常信息

09-Feb-2023 23:08:49.946 严重 [main] org.apache.catalina.core.StandardContext.filterStart 启动过滤器异常[DruidWebStatFilter]

java.lang.ClassCastException: com.alibaba.druid.support.http.WebStatFilter cannot be cast to jakarta.servlet.Filter

at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:252)

at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:103)

at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4563)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5206)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:747)

at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1188)

at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:2023)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)

at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1098)

at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:480)

at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1708)

at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:320)

at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)

at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)

at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946)

at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:886)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)

at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)

at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)

at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.startup.Catalina.start(Catalina.java:795)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)

官方文档

我们可以看出tomcat10引入的servlet是5.0版本,而我项目中是4的版本因此,部署时无法识别;

我这里是使用druid链接池jar包中报错,所以要解决这个问题有两种方案

两种解决方式

一、降低tomcat版本

二、下载druid,引入新的servlet规范进行编译,然后再引入自己的项目。

查看原文