这是LoginAction.java
package com.ss.struts2.lab1.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{
if("sise".equals(username) && "admin".equals(password))
return "suc";
return "login";
}
}login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Login</title>
</head>
<body>
<form action="login.action" method="post">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" value="LOGIN" />
</form>
</body>
</html>
welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>My JSP 'index.jsp' starting page</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>
    <font color="red">Login scueed!</font>
  </body>
</html>
struts.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="Lesson1"  namespace="/"  extends="struts-default">
<action name="login" class="com.ss.struts2.lab1.action.LoginAction">
<result name="login">/login.jsp</result>
<result name="suc">/welcome.jsp</result>
</action>
</package>
</struts>
web.xml<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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_3_0.xsd">
<display-name></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> <welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
struts.xml是放在src目录下,编译后自动在classes目录下生成
今天刚刚开始学SSH,百度也有一样的错误,但都不能解决,麻烦大家帮帮忙看看~~

解决方案 »

  1.   

    <%=path%>/login!execute.action;
    地址换下
      

  2.   


    之前没放namespace,也不行,看了网上的才加加上的
      

  3.   

    public class LoginAction extends ActionSupport{}
      

  4.   

    我和楼主的例子差不多,运行后一直是
     HTTP Status 404 - 错误,我的第一个struts例子调了一上午了啊。同求解决。
      

  5.   

    这是网页的HTTP Status 404 - There is no Action mapped for namespace [/] and action name [login] associated with context path [/Lesson1].--------------------------------------------------------------------------------type Status reportmessage There is no Action mapped for namespace [/] and action name [login] associated with context path [/Lesson1].description The requested resource (There is no Action mapped for namespace [/] and action name [login] associated with context path [/Lesson1].) is not available.
    --------------------------------------------------------------------------------Apache Tomcat/7.0.26这是Myeclipse的警告: Could not find action or result
    There is no Action mapped for namespace [/] and action name [login] associated with context path [/Lesson1]. - [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:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1805)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
      

  6.   

    你的代码测试一下 没有问题 啊
    你重载下项目 重启 tomcat试试
      

  7.   

    <struts>
        <package name="Lesson1"  namespace="/"  extends="struts-default">
            <action name="login" class="com.ss.struts2.lab1.action.LoginAction" method="execute">
                <result name="login">/login.jsp</result>
                <result name="suc">/welcome.jsp</result>
            </action>
        </package>
    </struts>    <form action="login.action" namespace="/" method="post">
            <input type="text" name="username" />
            <input type="password" name="password" />
            <input type="submit" value="LOGIN" />
        </form>
      

  8.   

    程序能跑起来吗,是不是少了一个<include file="struts-default.xml"/>,加到struts.xml试试
      

  9.   

    我把项目上传到百度云盘了
    一下是链接 楼上的方法我都弄过了 还是不行 所以把原项目发出来给大家看看用的是struts 2.3.4.1http://pan.baidu.com/share/link?shareid=25714&uk=268923417
      

  10.   

    目测 估计是楼主的jsp文件存放的位置导致 
    把jsp先放到webroot下 试一试
      

  11.   

    下了然后导入自己的jar包测试了一下是没有问题的
    看来是你的jar包有问题
      

  12.   

    问题找到
    看了你的项目发现了问题:
    你找不到action 肯定是配置文件的问题,因为所有action都在里面配置
    你文件内容没有错,所以你一直找不到原因
    错的是你的配置文件名struts.xml
    你的文件名确实 structs.xml
    拼写多了个c,  马虎了吧