求助 解决STRUTS2 错误 There is no Action mapped for namespace / and action name login

xiaoheixiaobai 2008-06-03 10:14:55
Eclipse+tomcat
已经把structs资源包中的blank项目中的jar放到eclipse的lib目录中
代码部分见下
错误信息
严重: Could not find action or result
There is no Action mapped for namespace / and action name login. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
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:233)
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:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)


以下为代码部分
===========================================
login.jsp
<body>
<form action="login.action" method="post">
用户名: <input type="text" name="username" > <br>
密码: <input type="password" name="password"> </br>
<input value="提交" type="submit">
</form>
<br>
</body>
===========================================
web.xml(路径在web-inf下)
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>struts2 </filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher </filter-class>
</filter>
<filter-mapping>
<filter-name>struts2 </filter-name>
<url-pattern>/* </url-pattern>
</filter-mapping>
</web-app>
===========================================
structs.xml(路径在web-inf\classes下)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" extends="struts-default">
<action name="login" class="com.test.action.LoginAction" >
<result name="success">/result.jsp </result>
</action>
</package>
<!-- Add packages here -->
</struts>
===========================================
LoginAction.java
package com.test.action;

public class LoginAction {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

public String execute() throws Exception
{
return "success";
}
}

这个问题已经在网上找了一天了,也没有能解决掉,希望有人能帮忙 谢谢了!!!

上述帖子内容用得别人的,我也碰到了这个问题,至今还没解决,希望有人帮忙一下 多谢!!
...全文
135318 226 打赏 收藏 转发到动态 举报
写回复
用AI写文章
226 条回复
切换为时间正序
请发表友善的回复…
发表回复
哲洛别闹 2012-10-10
  • 打赏
  • 举报
回复
看大家写了这么多,我深受启发,也将自己的问题找到了,其实我这只是将自己的struts文件少加了.xml后缀
节桃 2012-10-08
  • 打赏
  • 举报
回复
愁死人了。。。。一样的项目,在我朋友一点问题都没有,弄到我这就报错!!难道是人品!!按照以上所有的方法,都未解决。。。。。。。。。。。。。。。。。。。。。。。。。。
动感E时代 2012-10-02
  • 打赏
  • 举报
回复
[Quote=引用 33 楼 的回复:]

我遇到此问题,解决方法之一是:
之前把struts.enable.DynamicMethodInvocation=false 了,去掉这句
默认的是true

默认就行,struts.enable.DynamicMethodInvocation=false这是多此一举
[/Quote]
确实是这样的 thank you
malonggang1028 2012-09-09
  • 打赏
  • 举报
回复
struts2 的struts.mxml文件是放在在src下的或者其子目录下的
GIS的粉刷匠 2012-08-30
  • 打赏
  • 举报
回复
去死吧、
suibian5235 2012-08-23
  • 打赏
  • 举报
回复
我也遇到同样的问题,果然也是没将struts.xml放到src下。但是哪位大神站出来讲一下为什么要将struts.xml放到src下不能放到WEB-INF下呢?
doupei2006 2012-08-15
  • 打赏
  • 举报
回复
遇到同样问题的飘过,在新建servlet后,项目自动在web.xml中增加了servlet映射,载入页面出错。
struts.xml之前一直可以使用,并且在新建servlet后没有对struts.xml进行修改。

struts.xml和web.xml会出现冲突吗?
menglongguojiang 2012-08-01
  • 打赏
  • 举报
回复
楼主SB
闲庭细步 2012-07-23
  • 打赏
  • 举报
回复
[Quote=引用 218 楼 的回复:]

补充一下 是要在web。xml里面配置一下 <init-param>
<param-name>config</param-name>
<param-value>
struts-default.xml,
struts-login.xml,
struts-plugin.xml,
/WEB-INF/struts.xml
</param-value>
[/Quote]
最后一个可以不配置,struts能在默认路径找到,我是用ant复制到clsses路径下的
闲庭细步 2012-07-23
  • 打赏
  • 举报
回复
我也遇到了这个问题,不过通过搜资料自己解决了。与这个问题相关的文件主要有struts.xml的名字,位置以及内容。还有form表单中的action名字,,如果不是用默认命名空间,在表单中写action一定要是:命名空间/action名字。。。另外别忘了改了重启IDE(我用的eclipse是这样的)。strut2默认是在WEB-INF/classes中寻找action的。希望大家都能顺利解决问题。
ahliubo888 2012-07-20
  • 打赏
  • 举报
回复
补充一下 是要在web。xml里面配置一下 <init-param>
<param-name>config</param-name>
<param-value>
struts-default.xml,
struts-login.xml,
struts-plugin.xml,
/WEB-INF/struts.xml
</param-value>
ahliubo888 2012-07-20
  • 打赏
  • 举报
回复
这些回答的都是啥呀 ,没有一个能讲到重点上的。把STRUTS.XML 放在web-inf 文件夹下 struts就自动到这文件夹下去找了呀 还在在web-inf class下干吗
liuwenbin1987 2012-07-18
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 的回复:]

我遇到了同样的问题,多次修改后终于把问题解决了。
除了路径要正确(web.xml要放在web-inf下,struts.xml要放在WEB-INF\classes下),
(路径方面我都没犯错,那问题出在哪儿呢?)
原来在structs.xml中<package name="struts2" extends="struts-default"> 的name="struts2"
不能与web.x……
[/Quote]

如果自己检查没有什么粗心的错误的话,那么31楼的兄弟是正解,原来struts.xml当中的package的name与web.xml当中的filter-name不能相同。
liuliuluren 2012-07-17
  • 打赏
  • 举报
回复
谢谢大家了!我的是拼写的问题
Codefans_Fan 2012-06-29
  • 打赏
  • 举报
回复
我是把namespace去掉 或者放空解决的
x729583602 2012-06-13
  • 打赏
  • 举报
回复
我也遇到了这样的问题,看了大家的帖子,解决了,谢谢大家。
我的问题虽然把struts.xml文件考在了src目录下载但是在tomcat的webapps/工程名/WEB-INF/classes/目录下没有struts.xml,考进去就好了!
smilelidan 2012-05-22
  • 打赏
  • 举报
回复
我也遇到了同样的问题,还没有解决呀
Level_Meng 2012-05-16
  • 打赏
  • 举报
回复
大神们 帮帮忙 我以上方法全都试了下,但还是不行,其实也很邪门,我扽其他页面就行,就是唯独登录不行,小弟谢啦
Level_Meng 2012-05-16
  • 打赏
  • 举报
回复
Could not find action or result
/MyProject_bbs/Login_chack.action
There is no Action mapped for namespace [/] and action name [Login_chack] associated with context path [/MyProject_bbs]. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
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:500)
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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
at java.lang.Thread.run(Thread.java:619)
Level_Meng 2012-05-16
  • 打赏
  • 举报
回复
 <package name="concent" namespace="/concent" extends="struts-default">

<action name="*_*" class="com.edu.zzu.action.{1}Action" method="{2}">
<result>/concent/{1}_{2}.jsp</result>

<!-- <result name="input">/concent/{1}_{2}.jsp</result> -->
</action>
</package>


加载更多回复(206)

58,455

社区成员

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

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