0 0

struts2映射action,一直报错找不到action,但是配置应该没问题5

请各位抽空帮小弟看下,谢谢
这是我的web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <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>


这是struts.xml文件
<?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>
	<!-- 
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />

    <include file="example.xml"/>



    <package name="default" namespace="/" extends="struts-default">
        <default-action-ref name="index" />
        <action name="index">
            <result type="redirectAction">
                <param name="actionName">HelloWorld</param>
                <param name="namespace">/example</param>
            </result>
        </action>
    </package>
	 -->
	 
    <!-- Add packages here -->	 
	<constant name="struts.devMode" value="true" />
	<constant name="struts.ui.theme" value="simple" />
	 
	<package name="login" namespace="/login" extends="struts-defualt">
		<action name="login" class="com.mycompany.student.action.LoginAction">
	 		<result name="success">/main.jsp</result>
	 		<result name="input">/index.jsp</result>
		</action>
	</package>

</struts>



这是LoginAction.java
package com.mycompany.student.action;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class LoginAction extends ActionSupport {
	private String username;
	private String password;
	
	public void setUsername(String username) {
		this.username = username;
	}
	public String getUsername() {
		return username;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getPassword() {
		return password;
	}
	
	public String execute() throws Exception {
		return SUCCESS;
		/*if(getUsername().trim().equals("jim") && getPassword().trim().equals("123")) {
			return SUCCESS;
		}
		else {
			return INPUT;
		}*/
	}
	@Override
	public void validate() {
		if(getUsername() == null || getUsername().trim().equals("")) {   
			addFieldError("userName", "请输入用户名称");   
		}
		if(getPassword() == null || getPassword().trim().equals("")) {   
			addFieldError("passWord", "请输入用户密码");   
		}
	}	
}



这是index.jsp文件
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>index.jsp</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <form name="login" action="login/login.action" method="post">
   用户名:<input type="text" name="username" style="width:120px" /><br>
   密码:<input type="password" name="password" style="width:120px" /><br>
        <input type="submit" value="登&nbsp;&nbsp;陆" style="width:100px"/><br>
        <input type="reset" value="重&nbsp;&nbsp;填" style="width:100px"/>
    </form>  		
  </body>
</html>


问题补充:不好意思,报错信息没贴上:
信息: Starting Coyote AJP/1.3 on ajp-8009
2012-8-21 20:20:43 org.apache.catalina.startup.Catalina start
信息: Server startup in 4236 ms
2012-8-21 20:21:08 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
严重: Could not find action or result
/student/login/login.action
There is no Action mapped for action name login. - [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:501)
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:662)
2012年8月21日 20:41

3个答案 按时间排序 按投票排序

0 0

采纳的答案

extends="struts-defualt" 写错了 改成 extends="struts-default"

2012年8月21日 20:58
0 0

不过<action name="login" class="com.mycompany.student.action.LoginAction">  这里加上method=“login”更妥

2012年8月22日 23:11
0 0

1、<include file="example.xml"/>   有这个配置文件吗? 没有删掉?
2、报的什么错?

<form name="login" action="${path}/login/login.action" method="post">  加上上下文

2012年8月21日 20:46

相关推荐

    Struts2 框架搭建(基本)和几个报错问题

    6. **Action配置问题**:如果在Struts2配置文件中,结果类型未指定或结果路径错误,也会导致报错。检查`struts.xml`文件的`&lt;result&gt;`标签。 7. **权限问题**:当访问受保护的资源时,如果没有正确的角色或权限,...

    Struts 2实战 struts2 in Action

    《Struts 2实战 Struts2 in Action》这本书不仅介绍了Struts 2的基本概念和技术细节,更重要的是,它通过丰富的实战案例帮助读者深入理解框架的工作原理,并掌握了如何高效地利用Struts 2来解决实际问题。...

    Struts2中Action接收参数的方法

    struts.xml 文件中,需要配置 Action 的映射关系,例如: ``` &lt;struts&gt; &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;action name="index"&gt; &lt;param name="actionName"&gt;HelloWorld ...

    Struts2的bug----------关于Struts2中找不到Action的

    然而,正如标题所示,“Struts2的bug——关于Struts2中找不到Action的”,这个问题可能困扰了许多开发者。在Struts2框架中,Action是核心组件,用于处理用户请求并执行业务逻辑。当系统报告找不到Action时,这通常...

    struts2一个action处理多个请求 struts2实例

    在Struts2的配置文件(通常为struts.xml或struts.properties)中,我们定义Action的映射规则,包括请求路径、方法调用以及结果视图等。默认情况下,一个Action类对应一个请求URL,但通过特定配置,可以让一个Action...

    Struts2中struts_xml的Action配置详解

    总之,`struts_xml`中的Action配置是Struts2应用的基石,通过它可以灵活地定义请求与业务逻辑的映射关系,以及后续的页面跳转和拦截器链,从而构建出高效、可维护的Web应用。深入了解和熟练掌握这部分知识对于提升...

    ·Struts2配置文件介绍 超级详细

    总结来说,Struts2的配置文件主要涉及到了核心框架的各个组成部分,包括但不限于Action的定义、拦截器的配置以及结果类型的设置等。通过合理的配置,开发者可以轻松地构建出复杂且灵活的应用程序架构。

    Struts2 Action参数详细说明

    在Struts2中,Action的配置和使用方式有多种,下面将详细介绍Struts2 Action参数的详细说明。 首先,我们来看Action的配置格式。在Struts2的配置文件(通常是struts.xml)中,Action的基本配置结构如下: ```xml ...

    Struts 2实战 Struts 2 in action 的中文版

    根据提供的信息,我们可以推断出这是一本关于Struts 2框架的书籍——《Struts 2实战 Struts 2 in action 的中文版》。本书主要介绍了Struts 2框架的相关概念、工作原理以及实际应用案例等内容。接下来,我们将根据...

    去掉.action去掉.do字样 隐藏struts2 URL地址action, strus1的扩展名do也是同理.zip

    在Struts2中,默认情况下,所有的请求都会映射到.action结尾的URL上。为了去掉这个.action,我们需要配置Struts2的配置文件,通常是struts.xml。在该文件中,我们可以定义一个全局结果类型(global result type)来...

    struts2 action的三种访问方式

    传统方式是最基础的Action访问方式,通过硬编码URL来映射Action。在`struts.xml`配置文件中,我们定义每个Action类及其对应的URL。例如: ```xml &lt;action name="myAction" class="com.example.MyAction"&gt; ...

    简述STRUTS2_Convention零配置

    STRUTS2 Convention 零配置是Struts2框架中的一种高级特性,旨在简化应用程序的配置,让开发者能够更快地构建MVC应用。从Struts2.1版本开始,推荐使用Convention插件替代Codebehind插件,因为它更加自动化,几乎无需...

    Struts2 in action 中文版.pdf

    书中详细阐述了Struts2的配置机制,包括XML配置和注解配置,以及如何通过配置文件实现动态方法调用和结果映射。此外,Struts2的拦截器机制也是其一大特色,它允许开发者定义自定义的拦截逻辑,如日志、权限验证等,...

    Manning - Struts 2 in Action源码

    《Struts 2 in Action》是...总的来说,通过研究《Struts 2 in Action》的源码,开发者不仅可以深入理解Struts 2框架的内部工作流程,还能提高实际开发中的问题解决能力,为构建高效、可维护的企业级应用打下坚实基础。

    struts2 action 配置方法 &&struts2的配置文件

    Action的配置主要在Struts2的配置文件中进行,包括`struts.xml`、`struts.properties`以及其他的扩展配置文件。以下是Action配置的一些基本方式: 1. **简单Action配置**: 一个基本的Action配置示例如下: ```...

    struts2参数配置

    在深入了解Struts2框架时,我们不可避免地会接触到各种参数配置。这些配置对于整个框架的运行至关重要。本文将围绕Struts2中的关键配置进行深入探讨,旨在帮助开发者更好地理解和掌握Struts2的核心功能。 #### 二、...

    struts2 in action 中文版 英文版 源代码 合集

    2. **配置文件**: Struts2的配置主要通过struts.xml进行,包括Action的映射、拦截器栈的定义等。XML配置提供了灵活性,但也可以使用注解来简化配置。 3. **拦截器**: 拦截器是Struts2的一个强大特性,它们在Action...

    Struts2+Freemark

    3. 在Struts2配置文件(如`struts.xml`)中配置Action,包括Action的类路径、方法映射、结果类型等。 4. 使用OGNL或FreeMarker表达式在模板中引用Action的属性。 5. 配置数据源连接MySQL数据库,可能涉及实体类、DAO...

    struts2核心配置文件

    `struts.xml` 文件是Struts2的核心配置文件之一,主要负责管理和定义应用程序中的Action映射以及相关的Result定义。具体来说,该文件包括以下几个关键部分: 1. **Action 映射**: - 指定每个Action的名称、执行的...

    struts2所有包和配置文件

    Action配置告诉Struts2如何映射URL到具体的Action类,例如: ```xml &lt;action name="login" class="com.example.action.LoginAction"&gt; &lt;result name="success"&gt;/success.jsp &lt;result name="error"&gt;/error.jsp &lt;/...

Global site tag (gtag.js) - Google Analytics