-
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.javapackage 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="登 陆" style="width:100px"/><br> <input type="reset" value="重 填" 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个答案 按时间排序 按投票排序
-
采纳的答案
extends="struts-defualt" 写错了 改成 extends="struts-default"
2012年8月21日 20:58
-
不过<action name="login" class="com.mycompany.student.action.LoginAction"> 这里加上method=“login”更妥
2012年8月22日 23:11
-
1、<include file="example.xml"/> 有这个配置文件吗? 没有删掉?
2、报的什么错?
<form name="login" action="${path}/login/login.action" method="post"> 加上上下文2012年8月21日 20:46
相关推荐
6. **Action配置问题**:如果在Struts2配置文件中,结果类型未指定或结果路径错误,也会导致报错。检查`struts.xml`文件的`<result>`标签。 7. **权限问题**:当访问受保护的资源时,如果没有正确的角色或权限,...
《Struts 2实战 Struts2 in Action》这本书不仅介绍了Struts 2的基本概念和技术细节,更重要的是,它通过丰富的实战案例帮助读者深入理解框架的工作原理,并掌握了如何高效地利用Struts 2来解决实际问题。...
struts.xml 文件中,需要配置 Action 的映射关系,例如: ``` <struts> <package name="default" namespace="/" extends="struts-default"> <action name="index"> <param name="actionName">HelloWorld ...
然而,正如标题所示,“Struts2的bug——关于Struts2中找不到Action的”,这个问题可能困扰了许多开发者。在Struts2框架中,Action是核心组件,用于处理用户请求并执行业务逻辑。当系统报告找不到Action时,这通常...
在Struts2的配置文件(通常为struts.xml或struts.properties)中,我们定义Action的映射规则,包括请求路径、方法调用以及结果视图等。默认情况下,一个Action类对应一个请求URL,但通过特定配置,可以让一个Action...
总之,`struts_xml`中的Action配置是Struts2应用的基石,通过它可以灵活地定义请求与业务逻辑的映射关系,以及后续的页面跳转和拦截器链,从而构建出高效、可维护的Web应用。深入了解和熟练掌握这部分知识对于提升...
总结来说,Struts2的配置文件主要涉及到了核心框架的各个组成部分,包括但不限于Action的定义、拦截器的配置以及结果类型的设置等。通过合理的配置,开发者可以轻松地构建出复杂且灵活的应用程序架构。
在Struts2中,Action的配置和使用方式有多种,下面将详细介绍Struts2 Action参数的详细说明。 首先,我们来看Action的配置格式。在Struts2的配置文件(通常是struts.xml)中,Action的基本配置结构如下: ```xml ...
根据提供的信息,我们可以推断出这是一本关于Struts 2框架的书籍——《Struts 2实战 Struts 2 in action 的中文版》。本书主要介绍了Struts 2框架的相关概念、工作原理以及实际应用案例等内容。接下来,我们将根据...
在Struts2中,默认情况下,所有的请求都会映射到.action结尾的URL上。为了去掉这个.action,我们需要配置Struts2的配置文件,通常是struts.xml。在该文件中,我们可以定义一个全局结果类型(global result type)来...
传统方式是最基础的Action访问方式,通过硬编码URL来映射Action。在`struts.xml`配置文件中,我们定义每个Action类及其对应的URL。例如: ```xml <action name="myAction" class="com.example.MyAction"> ...
STRUTS2 Convention 零配置是Struts2框架中的一种高级特性,旨在简化应用程序的配置,让开发者能够更快地构建MVC应用。从Struts2.1版本开始,推荐使用Convention插件替代Codebehind插件,因为它更加自动化,几乎无需...
书中详细阐述了Struts2的配置机制,包括XML配置和注解配置,以及如何通过配置文件实现动态方法调用和结果映射。此外,Struts2的拦截器机制也是其一大特色,它允许开发者定义自定义的拦截逻辑,如日志、权限验证等,...
《Struts 2 in Action》是...总的来说,通过研究《Struts 2 in Action》的源码,开发者不仅可以深入理解Struts 2框架的内部工作流程,还能提高实际开发中的问题解决能力,为构建高效、可维护的企业级应用打下坚实基础。
Action的配置主要在Struts2的配置文件中进行,包括`struts.xml`、`struts.properties`以及其他的扩展配置文件。以下是Action配置的一些基本方式: 1. **简单Action配置**: 一个基本的Action配置示例如下: ```...
在深入了解Struts2框架时,我们不可避免地会接触到各种参数配置。这些配置对于整个框架的运行至关重要。本文将围绕Struts2中的关键配置进行深入探讨,旨在帮助开发者更好地理解和掌握Struts2的核心功能。 #### 二、...
2. **配置文件**: Struts2的配置主要通过struts.xml进行,包括Action的映射、拦截器栈的定义等。XML配置提供了灵活性,但也可以使用注解来简化配置。 3. **拦截器**: 拦截器是Struts2的一个强大特性,它们在Action...
3. 在Struts2配置文件(如`struts.xml`)中配置Action,包括Action的类路径、方法映射、结果类型等。 4. 使用OGNL或FreeMarker表达式在模板中引用Action的属性。 5. 配置数据源连接MySQL数据库,可能涉及实体类、DAO...
`struts.xml` 文件是Struts2的核心配置文件之一,主要负责管理和定义应用程序中的Action映射以及相关的Result定义。具体来说,该文件包括以下几个关键部分: 1. **Action 映射**: - 指定每个Action的名称、执行的...
Action配置告诉Struts2如何映射URL到具体的Action类,例如: ```xml <action name="login" class="com.example.action.LoginAction"> <result name="success">/success.jsp <result name="error">/error.jsp </...