新接触struts。第一个网页就打不开。求助 struts2.3

orxtiger 2011-11-01 06:55:03
struts.xml

<struts>
<package name="struts2" extends="struts-default">
<action name="HelloWorld" class="com.test.action.HelloWorld">
<result name="success">
/index.jsp
</result>
</action>
</package>
</struts>

web.xml

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

action只返回了一个 "success"
以下是错误信息。

There is no Action mapped for action name Strust/. - [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:488)
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:291)
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)
...全文
628 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
orxtiger 2011-11-10
  • 打赏
  • 举报
回复
纠结了这么久之后,发现问题的所在了。 struts.xml的文件名写错啦。 我第一个字母大写了。写成了Struts.xml。
谢谢楼上各位的帮助
Luciferoffans 2011-11-08
  • 打赏
  • 举报
回复
提示no Action mapped for action name Strust/. - [unknown location]action 名字映射问题,所以你检查下表单或者说是请求链接中的action名字是不是和struts.xml中的action name="XXXX"名字一致。
orxtiger 2011-11-08
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 hu1598540806 的回复:]

弱弱的问一下。。。
你的action中的方法名是excute()么?
要是不是的话 你的struts.xml中应该配置method=“方法名”;
[/Quote]
那个方法名教 ‘execute’吧。。。 应该是没有错误的。。。


<action name="go" class="com.test.action.ActionGo">
<result name="success">
/index.jsp
</result>
</action>

为了不让大小写影响 我新加了一个 go 还是提示找不到action
浅唱1曲解脱 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 chris_zcl 的回复:]
Struts应该是你项目名称,对吧。
那么helloworld貌似就是你的action请求方法对吧,与struts.xml的action配置没对应上

XML code


<struts>
<package name="struts2" extends="struts-default">
<action name="HelloWorld" class="c……
[/Quote]
这个说的有道理
浅唱1曲解脱 2011-11-07
  • 打赏
  • 举报
回复
弱弱的问一下。。。
你的action中的方法名是excute()么?
要是不是的话 你的struts.xml中应该配置method=“方法名”;
xiaxinhuo 2011-11-07
  • 打赏
  • 举报
回复
页面地址helloworld.action一定要与struts.xml中配置文件的action name名字一致。
无可救药 2011-11-06
  • 打赏
  • 举报
回复
路径问题?
<form action="HelloWorld">
</form>
jiang15101135905 2011-11-06
  • 打赏
  • 举报
回复
路径错误,可能是jar包冲突,加上namespace="/"试试。
良才2015 2011-11-06
  • 打赏
  • 举报
回复
There is no Action mapped for action name Strust/. - [unknown location]
leetao881212 2011-11-06
  • 打赏
  • 举报
回复
使用namespace="/"
orxtiger 2011-11-06
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 zh0134 的回复:]
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
为什么都喜欢用(/*)这个拦截请求啊,用(*.action)
我看有一个介绍好像说这个 /* 容易出错吧,为什么要拦截所有的请求。。。。。
[/Quote]

也改了,依旧是报哪个异常。。。There is no Action mapped for action name HelloWorld.
按照视频又重新弄了一回。问题依旧在。

视频是北京圣思园张龙的那个 。。。
乀Lan 2011-11-06
  • 打赏
  • 举报
回复
肯定是 单词写错了。 不然就是配置文件没在src下面找不到。
CloudX2019 2011-11-04
  • 打赏
  • 举报
回复
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


为什么都喜欢用(/*)这个拦截请求啊,用(*.action


我看有一个介绍好像说这个 /* 容易出错吧,为什么要拦截所有的请求。。。。。
orxtiger 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 bill0605030109 的回复:]

<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

把这个该为

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
[/Quote]

不是说filterDispatcher已经弃用了么。改成StrutsPrepareAndExecuteFilter这个了啊
  • 打赏
  • 举报
回复
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

把这个该为

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

orxtiger 2011-11-03
  • 打赏
  • 举报
回复
"HelloWorld.action" 这次我是ctrl c 过去的
还是有异常
There is no Action mapped for action name HelloWorld. - [unknown location]
跟着视频里的方法做的啊 没道理啊
lsbggg 2011-11-02
  • 打赏
  • 举报
回复
action 中的 name 与请求的URL的name不匹配。一个大写一个小写,纠结。
xuke6677 2011-11-02
  • 打赏
  • 举报
回复
框架一定搞好
五哥 2011-11-02
  • 打赏
  • 举报
回复
你要么把 form的 action中的Struts.do 搞成Helloworld ,
要么修改 struts.xml中
<action name="HelloWorld" class="com.test.action.HelloWorld">

的name为 Struts

form的action name 和你struts.xml中配置的action name不一致
chris_zcl 2011-11-02
  • 打赏
  • 举报
回复
启动没有报错,证明的框架是配置正确的,就是路径的事,修改下应该没什么问题了
加载更多回复(16)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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