struts-config.xml如下:
         <!-- 表单 Bean -->
<form-beans>
<form-bean name="LoginForm" type="app.LoginForm" />
</form-beans> <!-- 操作映射 -->
<action-mappings>
<action path="/login" type="app.LoginAction" name="LoginForm"
scope="request" validate="false" input="/login.jsp">
<forward name="success" path="/success.jsp" />
<forward name="failure" path="/failure.jsp" />
</action>
</action-mappings> <!-- 消息资源 -->
<message-resources parameter="MessageResources" />web.xml如下:
<display-name>Test3</display-name>
<servlet>
<servlet-name>LoginAction</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>LoginAction</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>struts-html</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>struts-bean</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>struts-logic</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
</taglib>
</jsp-config>LoginAction 如下:
public class LoginAction extends Action{
public ActionForward excute(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response) throws Exception{
LoginForm rf = (LoginForm)form;

String username = rf.getUsername();
String password = rf.getPassword();

if(username.equals("aa") && password.equals("aa")){
return mapping.findForward("success");
}
else{

return mapping.findForward("failure");
}
}
}login.jsp页面如下:
<<html:html>
<title>Login</title>
</head>
<html:base />
<body>
<html:form action="/login.do" method="post">
<table align="center" border="1" width="400" cellspacing="2"
cellpadding="2">

<tr>
<td align="right">username:</td>
<td><html:text property="username" value="" /></td>
</tr>
<tr>
<td align="right">password:</td>
<td><html:password property="password" value="" /></td>
</tr>
<tr>
<td align="right"><html:submit value="sumit" /></td>
<td><html:reset value="reset" /></td>
</tr>

</table>
</html:form>
</body>
</html:html>

解决方案 »

  1.   


    <html:form action="/login.do" method="post"> 
    去掉login.do前面的“/”,要不就在前面加上"<%=request.getContextPath()%>/login.do"
    就这样啦
      

  2.   


    <servlet-name>LoginAction </servlet-name> 
    <servlet-class> 
    org.apache.struts.action.ActionServlet 
    </servlet-class> 
    <init-param> 
    <param-name>config </param-name> 
    <param-value>/WEB-INF/struts-config.xml </param-value> 
    </init-param> 
    <load-on-startup>1 </load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>LoginAction </servlet-name> 
    <url-pattern>*.do </url-pattern> 
    LoginAction 换成action 不要和你自己Action同名了。养成好的编程习惯。
    其他的没有什么错误了,要不是楼主“人品”有问题。以前在学校的时候老师都这样说(代码冒得问题,就是没有正确的结果)。
      

  3.   

    <html:form action="/login.do" method="post"> 
    去掉login.do前面的“/”,
      

  4.   

    写绝对路径 看能找到这个action不!
      

  5.   

    package app;import org.apache.struts.action.ActionForm;/**
     * XX概要説明XX
     *
     * @author XXX
     * @version 1.0
     * @see ActionForm
     */
    public class LoginForm extends ActionForm{

    /**
     * dd
     */
    private static final long serialVersionUID = -5102892062011038803L;
    private String username;
    private String password;
    /**
     * XX概要説明XX
     * 
     * @return password
     */
    public String getPassword() {
    return password;
    }
    /**
     * XX概要説明XX
     * 
     * @param password
     */
    public void setPassword(String password) {
    this.password = password;
    }
    /**
     * XX概要説明XX
     * 
     * @return username
     */
    public String getUsername() {
    return username;
    }
    /**
     * XX概要説明XX
     * 
     * @param username
     */
    public void setUsername(String username) {
    this.username = username;
    }
    }
      

  6.   

    严重: No action instance for path /login could be created
    java.lang.ClassNotFoundException: app.LoginAction
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1362)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
    at org.apache.struts.util.RequestUtils.applicationClass(RequestUtils.java:119)
    at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.java:145)
    at org.apache.struts.action.RequestProcessor.processActionCreate(RequestProcessor.java:282)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:220)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1158)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:595)
      

  7.   


    app.LoginAction 这个冒找到哦,你写错了吧。包名对不?
      

  8.   


    type="app.LoginAction"
    包名.类名
      

  9.   


    <!-- 操作映射 --> 
    <action-mappings> 
    <action path="/login" type="app.LoginAction" 这里啦:是包名.类名啊 name="LoginForm" 
    scope="request" validate="false" input="/login.jsp"> 
    <forward name="success" path="/success.jsp" /> 
    <forward name="failure" path="/failure.jsp" /> 
    </action> 
    </action-mappings> 
    你的LoginAction是放在app这个包下面嘛?
      

  10.   

    该过来吧:
     <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>debug</param-name>
          <param-value>3</param-value>
        </init-param>
        <init-param>
          <param-name>detail</param-name>
          <param-value>3</param-value>
        </init-param>
        <load-on-startup>0</load-on-startup>
      </servlet>
     
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>//要有结束标签的
      

  11.   


    一切都是这么的平静和正常,你的类没有找到。但是你说你的配置是对的。
    偶的神啊,你仔细检查下。你的代码都是对的,其他的冒发现问题。
    第一个demo很重要,如果没有搞成功对自己的学习信心打击是很大的。
    慢慢来吧,要不你再重新都写一遍。
    严重: No action instance for path /login could be created 
    java.lang.ClassNotFoundException: app.LoginAction 
      

  12.   

    实在该不好用下面的方法:
    <action path="/login" scope="request"  //name 不要也可以的
    type="app.LoginAction">
    <forward name="success" path="/success.jsp" />
                            <forward name="failure" path="/failure.jsp" /> 
    </action>
    然后把 validate="false" input="/login.jsp" 去掉
    页面里修改提交方式:
    <form  action="../login.do  method="post" >
      

  13.   

    是第四行<html:base />的问题,可以把这个标记去掉,就可以了 
      

  14.   

     No action instance for path /login could be created action文件一般在src目录下,是MyEclipse自动生成的,都是java文件,开始学不要自己动手写xml之类的文件,一般你通不过!@
      

  15.   

    当你建jsp页面的时候,千万要把这个<html:base />去掉,要不他会给你带来很大问题
      

  16.   

    web.xml是你这样写的吗?
    <servlet-name>LoginAction </servlet-name> ?
    这是错误的,
     <servlet-name>action</servlet-name>//这里和下面的action必须 一样
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
     
         <servlet-mapping>
        <servlet-name>action</servlet-name>//这里的action和上面的事一样的
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    你试试看
    ,只有这样才能达到 由Tomcat创建Servlet的运行原理呀
      

  17.   

    java.lang.ClassNotFoundException: app.LoginAction 
    类名不对,路过