错误分析:There is no Action mapped for namespace / and action name test3

Love_birds 2009-12-17 11:02:20
我的Struts.xml配置信息如下:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="test" extends="struts-default">
<action name="test" class="testAction">
<result name="success" type="velocity">test.vm</result>
<result name="fail">index.jsp</result>
</action>
<action name="test3" class="testAction">
<result name="success" type="velocity">test.vm</result>
<result name="fail">index.jsp</result>
</action>
</package>
</struts>

这时候:http://localhost:808/cccc/test 这个访问能成功,没任何问题;
但是如果我访问:http://localhost:808/cccc/test3 则会报错,不知道什么原因,Action它们都指向同一个Action啊。
想不通,特发到这里让大家分析分析

具体报错信息如下:
Struts Problem Report
Struts has detected an unhandled exception:

Messages: There is no Action mapped for namespace / and action name test3.



--------------------------------------------------------------------------------

Stacktraces
There is no Action mapped for namespace / and action name test3. - [unknown location]
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:178)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:478)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
java.lang.Thread.run(Thread.java:619)


--------------------------------------------------------------------------------

You are seeing this page because development mode is enabled. Development mode, or devMode, enables extra debugging behaviors and reports to assist developers. To disable this mode, set:

struts.devMode=false

in your WEB-INF/classes/struts.properties file.
...全文
1579 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
sssss 2011-09-08
  • 打赏
  • 举报
回复
我下了一个struts2.1.8,然后就开始做一个Helloworld程序,接着就发生了There is no Action mapped for namespace / and action name的异常,我很纳闷,然后到百度上搜了一下,发现铺天盖地的都是这个异常,长达4页多,但是都没能解决我的问题。经过研究,我终于发现异常产生的原因,非常兴奋,由于用文字难以表述这个异常,于是我特别为这个异常录制了一集28分钟的视频,这个异常非常有意思。如果谁遇到了这个异常,而你又不知道为什么,那么请留下联系方式,我会将这个28分钟的视频传给你,里面清楚的阐述了异常的原因,以及如何避免这个异常的产生。最好留下QQ号码,如果email的话,怕传不了,视频大小30M。你也可以加这个QQ号码:215498544,我会把视频传给,你会发现这是个非常有意思的异常。
视频下载地址:http://download.csdn.net/detail/zudajun225/3581893
sssss 2011-09-08
  • 打赏
  • 举报
回复
我下了一个struts2.1.8,然后就开始做一个Helloworld程序,接着就发生了There is no Action mapped for namespace / and action name的异常,我很纳闷,然后到百度上搜了一下,发现铺天盖地的都是这个异常,长达4页多,但是都没能解决我的问题。经过研究,我终于发现异常产生的原因,非常兴奋,由于用文字难以表述这个异常,于是我特别为这个异常录制了一集28分钟的视频,这个异常非常有意思。如果谁遇到了这个异常,而你又不知道为什么,那么请留下联系方式,我会将这个28分钟的视频传给你,里面清楚的阐述了异常的原因,以及如何避免这个异常的产生。最好留下QQ号码,如果email的话,怕传不了,视频大小30M。你也可以加这个QQ号码:215498544,我会把视频传给,你会发现这是个非常有意思的异常。
视频下载地址:http://download.csdn.net/detail/zudajun225/3581893
langxiashahai 2011-08-25
  • 打赏
  • 举报
回复
mark。。。。。
aqqbjlgu 2011-08-25
  • 打赏
  • 举报
回复
修改了配置文件一般要重启tomcat!
小笨熊 2011-08-25
  • 打赏
  • 举报
回复
呵呵,刚看到帖子。lz真速度
血冰飝 2011-08-25
  • 打赏
  • 举报
回复
请问楼主,那个配置文件没发不发哦tomcat中是什么意思?我现在也出现了同样的问题
同样的工程,两个不同的请求一个正常,一个现实楼主那样的错误
handsome_huxiulei 2010-10-08
  • 打赏
  • 举报
回复
对于21#的 要注意一点就是 启用devmode模式 tomcat的路径要不能包涵空格
kompin_dmx 2010-10-07
  • 打赏
  • 举报
回复
是配置文件中多了一个斜杠引起的吧。
ws694617206 2010-01-09
  • 打赏
  • 举报
回复
在Struts配置文件中添加此行代码:
<constant name="struts.devMode" value="true" />
将Struts模式设置为开发模式,对于项目的路径的修改就不必再重新部署tomcat了
此模式为开发模式!适合广大程序员使用……
masato 2010-01-09
  • 打赏
  • 举报
回复
可以设置web项目的属性,properties->java build path-->source-->default output folder,将目录改为“webapp(你的web项目的名称)/WebContent(eclipse默认的webRoot,自己可以修改)/WEB-INF/classes”,这样eclipse在编译的时候就会自动将src(classpath)下的类对应的*.class文件和*.xml,*.properties等配置文件复制到WEB下,服务器在启动的时候就可以加载到配置文件和类了。
另外别忘了把项目依赖的jar,通过手动copy到WEB-INF/lib下,这样框架的类才可以被web容器找到,诸如oracle的jdbc驱动这样的类,需要copy到web容器如TOMCAT的lib下,才可以用。
当然,如果手动操作麻烦,copy依赖包的工作完全可以交给ANT和maven去做,具体做法,ANT可以写一个target来copy,maven可以使用maven-dependency-plugin中的命令来复制了,如:(引用springside3中的做法,具体自己可以去svn download一个下来仔细看)
mvn dependency:copy-dependencies -DoutputDirectory=lib -DexcludeScope=runtime -Dsilent=true -Pexamples
mvn dependency:copy-dependencies -DoutputDirectory=webapp/WEB-INF/lib -DincludeScope=runtime -Dsilent=true -Pexamples
wyj1983 2009-12-17
  • 打赏
  • 举报
回复

有个疑问,既然配置文件没有发布到tomcat,那为什么test可以执行呢 ?????
huguang 2009-12-17
  • 打赏
  • 举报
回复
帮楼主郁闷一下。
dying2003 2009-12-17
  • 打赏
  • 举报
回复
楼主速度够快 - -
xuexijava 2009-12-17
  • 打赏
  • 举报
回复
。。。。。
Love_birds 2009-12-17
  • 打赏
  • 举报
回复
问题已经解决,配置文件根本没有发布到tomcat工程中.
zl3450341 2009-12-17
  • 打赏
  • 举报
回复
解决速度够快啊
jisi772864447 2009-12-17
  • 打赏
  • 举报
回复
我经常出现这个问题,
<package name="docSys" extends="exception" namespace="/docSys">
<action name="list" class="docSysAction" method="getList">
<result name="success">/wpgl/docSys/docSys_index.jsp
</result>
</action>
<action name="search" class="docSysAction" method="search">
<result name="success">/wpgl/docSys/docSys_search.jsp
</result>
</action>

建议加上namespace吧。
不加上有的机器正常运行,有的就报错。没办法解释了
wufei006007008 2009-12-17
  • 打赏
  • 举报
回复
。。。。。。
zhingliu 2009-12-17
  • 打赏
  • 举报
回复
补充我14楼的贴子:
实际上,reloadable不是重启,而是重新加载。
Trinx 2009-12-17
  • 打赏
  • 举报
回复
java技术交流群100756746,希望大家加入,我们共同讨论,共同进步!
加载更多回复(9)

81,092

社区成员

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

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