There is no Action mapped for namespace / and action

rikimura2 2012-11-30 04:08:50
SSI项目,服务器使用的myeclipse9.0自带的tomcat,改了下action跟对应的struts-config.xml,然后重部署、重启tomcat,但是struts-config.xml里面新配置的action动作使用不了,访问显示404,错误代码见下。检查了好几遍,各方面都没问题,拼写也没错,到tomcat的webapp文件夹里面,查看struts-config.xml,发现没有我新增的action动作。之后移除项目再部署、删tomcat的catalina文件夹里的东西都试过了,还是不行,求解。

12-11-30@15:19:12 WARN - Could not find action or result
There is no Action mapped for namespace / and action name codemulu. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:475)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

...全文
201 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
鸡肋啊 2012-12-07
  • 打赏
  • 举报
回复
"到tomcat的webapp文件夹里面,查看struts-config.xml,发现没有我新增的action动作" 那必然404啊,编译过后的xml和你源代码的xml都不一致。 网上下个tomcat用它来编译试试吧
jackson_fighting 2012-12-07
  • 打赏
  • 举报
回复
引用 3 楼 sd4000784 的回复:
/codemulu.action struts xml里没有定义上面这个路径的action 看你表单如何提交的 是相对路径还是绝对路径寻找action
言简意赅
cqslideng 2012-12-07
  • 打赏
  • 举报
回复
改这个试试。 <package name="metadatamanage" namespace="/" extends="json-default"> <action name="getallcheck" class="org.cfsdc.action.manage.MetadataManageAction" method="getAllCheck"> <result name="success">/manage/page/metadatamanage/yuanshujushenhe.jsp</result> </action> <action name="getallchecked" class="org.cfsdc.action.manage.MetadataManageAction" method="getAllChecked"> <result name="success">/manage/page/metadatamanage/shengchenghexinyuanshuju.jsp</result> </action> <action name="codemulu" class="org.cfsdc.action.manage.MetadataManageAction" method="getCodeIndex"> <result name="success">/manage/page/metadatamanage/kexuebianmaguanli.jsp</result> </action> </package>
rikimura2 2012-11-30
  • 打赏
  • 举报
回复
自顶,求解决方法
rikimura2 2012-11-30
  • 打赏
  • 举报
回复
引用 13 楼 WXLHATYY 的回复:
右键点击项目,build path ->Configure build path 在弹出的对话框中点击java build path 右侧选择source,查看下面default output folder是否正确
事实上3天前我增、改action、xml的时候还一点问题都没,期间的设置我一点都没变,然后昨天我再改的时候不行了。。
rikimura2 2012-11-30
  • 打赏
  • 举报
回复

这是现在的编译路径,应该没问题吧?
「已注销」 2012-11-30
  • 打赏
  • 举报
回复
右键点击项目,build path ->Configure build path 在弹出的对话框中点击java build path 右侧选择source,查看下面default output folder是否正确
候总 2012-11-30
  • 打赏
  • 举报
回复
文件不同步? 你设置下编译路径,刷新 应该就好了
rikimura2 2012-11-30
  • 打赏
  • 举报
回复
引用 9 楼 cydyhty 的回复:
引用 8 楼 rikimura2 的回复:引用 7 楼 cydyhty 的回复:引用 6 楼 rikimura2 的回复:引用 5 楼 cydyhty 的回复:你访问的URL是什么?把namespace加上呢? 404应该是你URL没对 url也没问题,我访问那个getallcheck.action就能拿到数据,然后我把这个正确的url里面的"getallcheck"……
在myeclipse里面。 设置了build automatically,有文件不同步情况,tomcat里面的struts-config.xml里的内容一直是:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
 "http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
    <package name="metadatamanage" namespace="" extends="json-default">
        <action name="getallcheck"
            class="org.cfsdc.action.manage.MetadataManageAction" method="getAllCheck">
            <result name="success">/manage/page/metadatamanage/yuanshujushenhe.jsp</result>
        </action>
        <action name="getallchecked"
            class="org.cfsdc.action.manage.MetadataManageAction" method="getAllChecked">
            <result name="success">/manage/page/metadatamanage/shengchenghexinyuanshuju.jsp</result>
        </action>
    </package>
</struts>
于是我remove项目,删了tomcat里面的work\Catalina\localhost底下的东西,然后重部署、运行,还是跟之前一样,tomcat里面webapp中项目的WEB-INF\classes\struts-config下的xml里面的内容还是这个
「已注销」 2012-11-30
  • 打赏
  • 举报
回复
你tomcat启动的项目和你现在struts.xml所在的项目不是同一个项目。 貌似你是使用修改server.xml配置文件进行部署的,请检查配置文件Context的docBase 确认docBase是否指向你的项目
候总 2012-11-30
  • 打赏
  • 举报
回复
引用 8 楼 rikimura2 的回复:
引用 7 楼 cydyhty 的回复:引用 6 楼 rikimura2 的回复:引用 5 楼 cydyhty 的回复:你访问的URL是什么?把namespace加上呢? 404应该是你URL没对 url也没问题,我访问那个getallcheck.action就能拿到数据,然后我把这个正确的url里面的"getallcheck"换成"codemulu",即我新加的act……
缓存啊?你是导出war启动的,还是在eclipse里面? ctrl+b F5 手动编译下, tomcat clean下 看看有没有文件不同步的原因
rikimura2 2012-11-30
  • 打赏
  • 举报
回复
引用 7 楼 cydyhty 的回复:
引用 6 楼 rikimura2 的回复:引用 5 楼 cydyhty 的回复:你访问的URL是什么?把namespace加上呢? 404应该是你URL没对 url也没问题,我访问那个getallcheck.action就能拿到数据,然后我把这个正确的url里面的"getallcheck"换成"codemulu",即我新加的action,404,拼写也应该没问题,因为……
json-deafault应该没问题,因为后面要用到所以先放着。 问题是同一个xml里面,第一个getallcheck能行,为什么第三个不行,两者从形式上来说是一模一样的。。而且为什么第一个都改成getallchecks了,还能访问到getallcheck.action,却访问不到getallchecks.action。。
候总 2012-11-30
  • 打赏
  • 举报
回复
引用 6 楼 rikimura2 的回复:
引用 5 楼 cydyhty 的回复:你访问的URL是什么?把namespace加上呢? 404应该是你URL没对 url也没问题,我访问那个getallcheck.action就能拿到数据,然后我把这个正确的url里面的"getallcheck"换成"codemulu",即我新加的action,404,拼写也应该没问题,因为我试了很多遍了。。 namespace是……
你确定这里要用的是jsondefault? 就算是json你的配置貌似也不对
rikimura2 2012-11-30
  • 打赏
  • 举报
回复
引用 5 楼 cydyhty 的回复:
你访问的URL是什么?把namespace加上呢? 404应该是你URL没对
url也没问题,我访问那个getallcheck.action就能拿到数据,然后我把这个正确的url里面的"getallcheck"换成"codemulu",即我新加的action,404,拼写也应该没问题,因为我试了很多遍了。。 namespace是“”
候总 2012-11-30
  • 打赏
  • 举报
回复
你访问的URL是什么?把namespace加上呢? 404应该是你URL没对
rikimura2 2012-11-30
  • 打赏
  • 举报
回复
引用 2 楼 cydyhty 的回复:
发你提交页面和xml action
codemulu这个action定义了,xml文件见下面。页面没写,我直接用codemulu.action访问,这个action不需要页面上的参数。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
 "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
 "http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
	<package name="metadatamanage" namespace="" extends="json-default">
		<action name="getallcheck"
			class="org.cfsdc.action.manage.MetadataManageAction" method="getAllCheck">
			<result name="success">/manage/page/metadatamanage/yuanshujushenhe.jsp</result>
		</action>
		<action name="getallchecked"
			class="org.cfsdc.action.manage.MetadataManageAction" method="getAllChecked">
			<result name="success">/manage/page/metadatamanage/shengchenghexinyuanshuju.jsp</result>
		</action>
		<action name="codemulu"
			class="org.cfsdc.action.manage.MetadataManageAction" method="getCodeIndex">
			<result name="success">/manage/page/metadatamanage/kexuebianmaguanli.jsp</result>
		</action>
	</package>
</struts>
顺带说下,里面的getallcheck这个action,我把它改成getallchecks,然后重部署重启tomcat,然后访问getallchecks.action,404,然后我试着访问getallcheck.action,即我修改之前的action,有结果,所以现在怀疑是tomcat的问题,但是tomcat里面的东西我也都清了一遍,还是不行
  • 打赏
  • 举报
回复
/codemulu.action struts xml里没有定义上面这个路径的action 看你表单如何提交的 是相对路径还是绝对路径寻找action
候总 2012-11-30
  • 打赏
  • 举报
回复
发你提交页面和xml action
候总 2012-11-30
  • 打赏
  • 举报
回复
codemulu 这个action木有嘛 404的问题都自己找原因

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧