【struct 异常】HTTP Status 404 - There is no Action mapped for namespace [/] and action name [xx]

问题报错如标题:

HTTP Status 404 - There is no Action mapped for namespace [/] and action name [xx] associated with context path [/xxx].

理解:

出现这个错误的时候,我第一时间在怀疑我的struct.xml配置文件中除了问题,然后问题所在的地方就是在这里标红的地方。

<package name="struts2Lab4" extends="struts-default" namespace="/lab4">

但是我通过跟jsp那边的form核对的时候,并没有发现问题。

接着我查看了一下struct.xml的位置,它是放在src下的,请记住这个文件的大小写不能写错,然后它的路径要放在这里,不能放进包中。

配置文件通过检查的时候我发现没问题了。然后我还是觉得namespace="/lab4"这里出了问题,然后把这个修改成namespace="/"之后运行。提示我空指针异常,当我去查看代码的时候,发现原来我的类并没有被实例化,所以问题就出现在这里了。

前端传递过来的数据由于并没有被对应的实例化的类所接收,导致它找不到对应的action。所以才出现了这个错误。

可用排查方法1:

struct.xml文件中的<package>标签修改如下可以帮助你判断是否为Java代码有错误

<package name="XX " extends="struts-default" namespace="/">

总结:

检查1:检查struct.xml文件位置与jsp文件的位置是否在对应的位置以及struct.xml文件的大小写

检查2:核对struct.xml与jsp文件中的action与namespace是否已经对应了

检查3:检查Java代码中action类是否继承了ActionSupport类

检查4:检查action类中你是否没有把对应的类给实例化

 

以上思考可能有错误,欢迎指出错误,以便改正。思考使内容变得充实。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值