struts.xml配置内容:
<struts>
<package name="struts2" namespace="/" extends="struts-default">
<action name="login" class="cn.itcast.struts2.action.LoginAction" method="execute">
<result name="success">/WEB-INF/pages/success.jsp</result>
<result name="errors">/WEB-INF/pages/errors.jsp</result>
</action>
</package>
</struts>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">
 <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>index.jsp</welcome-file>
 </welcome-file-list></web-app>LoginAciton.java
package cn.itcast.struts2.action;public class LoginAction {
private String username;
private String password;

public String getUsername(){
return username;
}
public String getPassword(){
return password;
}

public void setUsername(String username){
this.username = username;

}

public void setPassword(String password){
this.password = password;
}

//处理用户请求的execute方法
public String execute()throws Exception{
if(getUsername().equals("scott")&&
       getPassword().equals("tiger")){
  return "success";
 }else{
  return "error";
 }
}}在MyEclipse6.6.0上运行后提示错误:
严重: Exception starting filter struts2
Unable to load configuration. - action - file:/D:/Program%20Files/apache-tomcat-6.0.10/webapps/struts2/WEB-INF/classes/struts.xml:7:86
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:360)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:403)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:48)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: Action class [cn.itcast.struts2.action.LoginAction] not found - action - file:/D:/Program%20Files/apache-tomcat-6.0.10/webapps/struts2/WEB-INF/classes/struts.xml:7:86 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:405)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:355)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:460)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:265)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:189)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
... 31 more刚开始整Struts2,helloword都没整出来,真受挫折啊!!请高手指点一下

解决方案 »

  1.   

    commons-fileupload-1.2.1。jar存在没?你的jsp中是怎么指定的?
      

  2.   

    存在commons-fileupload-1.2.1.jar
    jsp页面
    <%@ page language="java" contentType="Text/html;charset=GBK" %>
    <html>
    <head>
    <title>登陆页面</title>
    </head>
    <body>
    <form action="Login.action" method="post">
    <table align="center">
    <caption><h3>用户登录</h3></caption>
    <tr>
    <td>用户名:<input type="text" name="username"/></td>
    </tr>
    <tr>
    <td>密&nbsp;&nbsp;码: <input type="password" name="password"/></td>
    </tr>
    <tr align="center">
    <td colspan="2"><input type="submit" value="登录"/>
    <input type="reset" value="重填"/>
            </td>
    </tr>

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

  3.   

    struts.xml 
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "struts-2.0.dtd"> 
    <struts>
    <package name="struts2" extends="struts-default">    <action name="login" class="com.test.action.LoginAction">             <result name="error">/error.jsp</result>
                <result name="success">/welcome.jsp</result>        </action>       </package>
    </struts>
      

  4.   

    web.xml 
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    <display-name>Struts Blank</display-name>
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        </filter><filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping><welcome-file-list>
            <welcome-file>index.html</welcome-file>
        </welcome-file-list>
    </web-app>
      

  5.   

    LoginAction.java 
    package com.test.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(getUsername().equals("scott")
       &&getPassword().equals("tiger"))
     {
      return "success";
     }
     else
     {
      return "error";
       }
     }
    }
      

  6.   

    <form action="Login.action" method="post"> 
    改为
    <form action="/login.action" method="post"> 如还不行
    改为
    <form action="login.action" method="post"> 
      

  7.   

    <form action="Login.action" method="post"> 
    <action name="login" class="cn.itcast.struts2.action.LoginAction" method="execute"> 
    login一个大写一个小写??
      

  8.   

    [code=Java]<filter>
            <filter-name>struts2</filter-name>
            <filter-class>
                org.apache.struts2.dispatcher.FilterDispatcher
            </filter-class>
        </filter>    <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>[/code]
    其余的看4,5楼
      

  9.   

    <form action="Login.action" method="post"> 
    <action name="login" class="cn.itcast.struts2.action.LoginAction" method="execute"> 
      

  10.   

    <%@ page language="java" contentType="text/html; charset=UTF-8"%>
    <html>
    <head>
    <title>登录页面</title>
    </head>
    <body>
    <form action ="login.action" method="post"> 
    <table align="center">
    <caption><h3>用户登录</h3></caption>
    <tr>
    <td>用户名:<input type="text" name="username"/></td>
    <td>密&nbsp;&nbsp;码:<input type="text" name="password"/></td>
    </tr>
    <tr align="center">
    <td colspan="2"><input type="submit" value="登录"/>
    &nbsp;&nbsp; <input type="reset" value="重填"/></td>
    </tr>
    </table>
    </from>
    </body>
    </html>
      

  11.   

    bobo_916 你发的代码测试过吗?
      

  12.   

    cn.itcast.struts2.action.LoginAction 你这个类有编译成功吗?或者路径写错了
      

  13.   

    编译成功了 在classes目录下 \classes\cn\itcast\struts2\action\LoginAction.class
      

  14.   

    你的action为什么不继承ActionSupport?
    public class LoginAction extends ActionSupport
      

  15.   


    POJO不是也可以作为action 不一定非得继承ActionSupport
      

  16.   

    没什么问题啊 难道你的action没有编译成功?你看看你webinfo 下面的classes里面有没有编译好的LoginAction.class
      

  17.   


    struts2不用继承ActionSupport
    本来struts1耦合度高了  你struts2还继承ActionSupport   那没意义
      

  18.   


    Action class [cn.itcast.struts2.action.LoginAction] not found - action - file:/D:/Program%20Files/apache-tomcat-6.0.10/webapps/struts2/WEB-INF/classes/struts.xml:7:86 at 
    struts.xml 第7行是什么??
      

  19.   

    你把tomcat放到D:\根目录下试试,有没有可能是空格(%20)的问题哟
      

  20.   

    改了一下:
    <struts>
     <package name="itcast" namespace="/test" extends="struts-default">
            <action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="execute" >
    <result name="success">/WEB-INF/page/hello.jsp</result>
    <result name="error">/WEB-INF/page/error.jsp</result>
            </action>
     </package>
    </struts>web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    <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>
    其他的基本一样 这次可以  但不知道为什么??感觉差不多
      

  21.   

    我发现原来我一直都没有搭建过struts2基本环境。刚搭了个和你差不多的,居然一直报
    There is no Action mapped for action name login. - [unknown location]
    真是悲剧啊!一直用springside现成的环境。也不好啊,连最基本的都搞不定!
      

  22.   

    你的struts.xml放在哪的,我开发放在web-inf下面,然后通过配置config参数老是加载不成功。后来还是老老实实放在web-inf/classes下面才OK了~