Tomcat7+struts2出现There is no Action mapped for action name welcome.

发布于 2021-11-18 00:50:28 字数 3696 浏览 874 评论 18

这是struts.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>
	<package name="helloWorld" extends="struts-default" namespace="day01">
		<action name="welcome" class="test.WelcomeAction">
			<result name="success">/WEB-INF/welcome.jsp</result>
			<result name="fail">/WEB-INF/nameForm.jsp</result>
		</action>
	</package>
</struts>

---------------------------------------------------------------------------------
这是web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Cat</display-name>
  <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>
</web-app>

--------------------------------------------------------------------------------------
这是WelcomeAction.java文件

package test;

public class WelcomeAction{
	private String name;
	
	public String showYourName(){
		System.out.print("Your Name is : ");
		System.out.println(name);
		
		if("monster".equalsIgnoreCase(name)){
			return "fail";
		}
		return "success";
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

--------------------------------------------------------------------
以下是2个jps页面

--------------------nameForm.jsp---------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="/test/day01/welcome.action" method="post">
		<input type="text" name="name">
		<input type="submit" value="SUBMIT">
	</form>
</body>
</html>

--------------------------------------------------------------------------
----------welcome.jsp---------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h2>Welcome, ${name}</h2>
</body>
</html>

目录结构如下:
WEB-INF目录下有classes目录,不知道为什么在视图里面没出现,我在工作区里面可以找到classes目录,里面还有struts.xml文件

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(18

不再见 2021-11-21 04:02:02

回复
我后来没导包,试了试,貌似不需要导包了,我用的struts2+tomcat7

画骨成沙 2021-11-21 04:02:02

这个接口在哪个包啊,我之前试过ActionSupport但是老是报编译错误,也找不到包

悲喜皆因你 2021-11-21 04:02:02

<action
 name="welcome"
 class="test.WelcomeAction" /*这里添加一个method="
showYourName()"试试*/>

风苍溪 2021-11-21 04:02:02

1,你的action么有继承ActionSupport 哪里来execute ?

2,<result name="success">/WEB-INF/welcome.jsp</result> 这个是不被访问的!受保护的!

疑心病 2021-11-21 04:02:02

要添加一个连接进去的是吧

旧城烟雨 2021-11-21 04:02:02

struts2配置文件释放src下的

绝影如岚 2021-11-21 04:02:02

我用的eclipse没用myeclipse,感觉有点不太一样

白龙吟 2021-11-21 04:01:32

public class WelcomeAction implements Action{};

只为守护你 2021-11-21 04:01:13

我把shoowYourName()改称execute()试试,又变成404了。。。。

滥情空心 2021-11-21 04:00:20

我把shoowYourName()改称execute()试试,又变成404了。。。。

谢绝鈎搭 2021-11-21 04:00:16

  起码搞个构造函数吧,起码有execute方法吧

多彩岁月 2021-11-21 04:00:11

再发张截图

本王不退位尔等都是臣 2021-11-21 03:37:09

我后来直接把namespace删掉不用了,把编译后的.class文件和struts.xml手动复制到WEB-INF里面的classes目录里面运行ok

无声静候 2021-11-21 03:25:11

@55wish 应该是这个问题

风苍溪 2021-11-21 02:21:09

回复
感觉struts很乱啊,不知道为什么设计这么一个框架,还这么多隐含的默认操作,。。。

惜醉颜 2021-11-20 19:07:48

@55wish 算是为了简化操作,本身更麻烦

谁的新欢旧爱 2021-11-20 16:39:10

namespace?查查

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文