欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

Cannot retrieve mapping for action

发布时间:2023/12/2 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Cannot retrieve mapping for action 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
想必用过Struts的朋友都遇到过这个异常吧!没遇到的也可能,只能说你很强或运气不错。

我遇到该异常的解释是我不强,用Struts不是很多,或者说根本不熟练,对一些知识了解得并不深,仅仅皮毛而已,所以这个异常困扰了我一天的时间。言归正传。

从字面上翻译就是“不能找到映射action”,当出现这个异常的时候,肯定是在请求某个action,而根据给定的路径却没找到,所以页面啪嚓抛出一个异常,满满一页。

此时你首先要检查的是请求的路径是否书写正确,与struts-config.xml中配置的路径仔细的核对,发现完全正确。真的完全吻合么?恐怕只有后面的“/XXAction”完全相同吧!所谓的完全正确是指由根目录到struts配置的path完全一致,如“http://localhost:8080/web/data/login.do”, 你的struts配置文件中配置的可能是path="/data/login",那么你如此访问肯定是正确的,只怕你忘记了data这个渺小的目录的存 在,遗忘请补齐。这种情况的出现往往是做项目的时候,小组都分区分模块,每个人都有自己定义的目录,在web.xml中配置struts,如:

<servlet>
<servlet-name>strutsAction</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

<init-param>
<param-name>config/prms/data</param-name>
<param-value>/WEB-INF/prms/struts-config-data.xml</param-value>
</init-param>
</servlet>
那么在你访问struts资源的时候千万不要忘记上面配置的路径。

下面说说我遇到这个异常的原因吧!我直接访问服务器上的资源,即xx.jsp,如果路径写正确,这是没问题的,但是页面上却抛出了这个异常,仔细的 检查发现,页面form的action写着“/login.do”,页面所在路径与“/login.do”组合后的路径并不是action配置的路径,所 以根本就找不到action资源,只能抛出异常。

前辈们都建议不要直接访问服务器固定资源,如果你偏要访问那个jsp也行,使用Struts提供的ForwardAction即可,既不会出现上面的异常,又没有直接访问服务器资源,两全其美。

转载于:https://www.cnblogs.com/icewee/articles/2017685.html

总结

以上是生活随笔为你收集整理的Cannot retrieve mapping for action的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。