SSH框架配置struts2的拦截器时报java.lang.ClassNotFoundException: javax.servlet.Filter异常!!

我在用SSH框架做网站时(不是maven工程),把struts2框架的过滤配置写好时,启动服务器就报错了:Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1449)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1257)

       这是我的配置:

```xml
<filter>  
        <!-- 配置Struts2核心Filter的名字 -->  
        <filter-name>struts2</filter-name>  
        <!-- 配置Struts2核心Filter的实现类 -->  
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
    </filter> 
    <!-- 配置Filter拦截的URL -->  
    <filter-mapping>  
        <!-- 配置Struts2的核心FilterDispatcher拦截所有用户请求 -->  
        <filter-name>struts2</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping> 

然后我查了一天的资料,都没搞定。struts2我尝试了三个版本都还是这样!!真的是崩溃了,今天一天什么都没弄,这个玩意儿真烦人!!!!

希望有大佬帮帮我!!

存在jar包冲突或者版本问题。

servlet-api包呀,你这是在tomcat上运行的吗,tomcat的会默认提供,如果没提供的可以自己找下加进去

解决:修改pom.xml文件,
去除


<scope>provided</scope>

增加


<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
</dependency

https://blog.csdn.net/f746262041/article/details/121195990

那个配置的
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
那个类可以点进去不了


把这个包下载下来 引入你的项目中 这个是3.0版本

https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar
这个是 2.5 版本

空指针异常要么是环境没配好,要么就是代码错了,仔细检查下

解决了就好,恭喜!