这个问题可能是一个重复的问题,但由于我无法找到一个具体的解决方案,因此再次发布,我得到这个错误:
DispatcherServlet cannot be cast to javax.servlet.Servlet
即使在依赖项中提供的作用域如下
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
我在我的eclipse上运行一个spring安全web应用程序。我也尝试了所有其他范围,但没有帮助。
只是一个想法,但是我假设您在服务器上运行应用程序时得到这个错误。如果是这样,则可能存在类装入器问题,并且您有两个由不同的类装入器装入的javax.servlet.Servlet类实例。如果你有一个GenericServlet的实例,那么它必须可以转换到它的一个超类,但是,不知何故,VM试图将它转换到不同的超类负载。如果同一个类(按名称)被两个不同的类加载器加载,它们最终会在VM中成为两个不同的类。