关于 struts 2 StrutsPrepareAndExecuteFilter 以及404 问题

刚开学,开始学习 struts 2 的配置以及 如何开始 编写 “Hello world ”,这一开始真的毫无头绪 ,一直卡在这两个报错上面 ,甚至从头检查JDK以及 tomcat的配置问题 ,检查完毕后 ,直接从代码入手

StrutsPrepareAndExecuteFilter

java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

这个报错直接导致了我其他的项目也无法打开
网上给出了各种各样的解决方法,但是一直没有找到问题的关键 ,然后我从一篇论坛中找到灵感,struts 2.5版本的和 2.2版本的部署是不一样的,但是我觉得既然出了2.5版本 还要回过头来用旧版本感觉是不符合逻辑的
在这里插入图片描述后来我直接百度 struts 过滤器配置 ,果然发现 2.5的代码是不一样的,而且

并且在2.5以前还需要导入一个xwork-core的jar包,2.5后xwork的这个jar包和Struts2-core这个包合并了,就不需要再导入了

我一直没用在2.5的jar中找到这个包,没用提早想到框架的变化,也是有点迟钝的
这是学校给出的代码 (沿用的是struts 2.3的版本)
在这里插入图片描述

在这里插入图片描述
但是 struts 2.5以后的代码 已经不一样了

    <filter>
    <filter-name>struts</filter-name>
    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>struts</filter-name>	
    <url-pattern>/* </url-pattern>
    </filter-mapping>

2.5版本直接是filter,不是ng.filter

404

好的 解决掉这个问题 , 可以正常启动 JSP 和 其他项目了
但是报错依然存在
在这里插入图片描述

并且出现了 404 报错
报错原因(忘记截图了 )
Wrong method was defined as an action method: index
一开始 查阅资料

1.URL写错,这个时候需要先检查一下拼写有没有出错
2. 所需要的jar包没有导入完全,
3.web.xml文件和struts.xml文件配置不正确
4. web.xml中的filter-class路径写错,struts2 2.5的版本以后,过滤器的路径和以前不一样了。之前filter的路径是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter, struts2 2.5版本之后呢,中间的这个.ng就没有了
5.没有在WEB-INF目录下导入struts2的jar包,即使你已经将包导入完全,系统也会提示你classNotFoundExce
来源 : https://blog.csdn.net/cc_bk/article/details/79484163

URL 我已经可以背下来了 ,配置问题解决,然后我开始想到导包的问题,因为一开始想到学校的代码问题,我也想到了,会不会以前的包也会不一样,发现确实少加了一个包,但是启动后无果,再次
查阅资料发现 :
struts2-rest-plugin-2.5.14.1.jar
这个包也会导致 StrutsPrepareAndExecuteFilter 报错 ,晕掉了 原来加jar 包添加过多 也会导致这种问题 ,以后还是跟着教程走。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值