错误信息:There is no Action mapped for namespace / and action name login. Check if there is such an action name with such namespace defined in the xwork.xml and also if such an action class exists. Check also the log to see if the action class is successfully loaded. - [unknown location]
com.opensymphony.xwork.DefaultActionProxy.<init>(DefaultActionProxy.java:75)
com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:46)
com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:264)
com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:111)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

解决方案 »

  1.   

    配置文件信息:xwork.xml
    <xwork>  
        <include file="webwork-default.xml"/>  
        <package name="default" extends="webwork-default">  
            <action name="login" class="loginAction">  
                <result name="success">/success.jsp</result> 
                <result name="error">/error.jsp</result>   
            </action>  
        </package>  
    </xwork> 
    application.xml
    <beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
      <property name="driverClassName" value="oracle.jdbc.Driver.OracleDriver"></property>
      <property name="jdbcurl" value="jdbc:oracle:thin:@localhost:1521:zjport"></property>
      <property name="username" value="test"></property>
      <property name="password" value="test"></property>
    </bean>
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
      <property name="dataSource">
       <ref bean="dataSource" />
      </property>
      <property name="hibernateProperties">
       <props>
        <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
       </props>
      </property>
      <property name="mappingResources">
       <list>
        <value>com/test/vo/user.hbm.xml</value>
       </list>
      </property>
    </bean>
    <bean id="userDao" class="com.test.dao.impl.UserDao" parent="BaseDao"></bean>

    <bean id="userService" class="com.test.service.impl.UserService">
    <property name="userDao">
    <ref bean="userDao"/>
    </property>
    </bean>
    <bean id="loginAction" class="com.test.action.LoginAction">
    <property name="userService">
    <ref bean="userService"/>
    </property>
    </bean>
    </beans>
    web.xml
    <web-app> 
     <servlet>
      <servlet-name>webwork</servlet-name> 
      <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class> 
      <load-on-startup>1</load-on-startup> 
      </servlet>
     <servlet-mapping>
      <servlet-name>webwork</servlet-name> 
      <url-pattern>*.action</url-pattern> 
      </servlet-mapping>
     <welcome-file-list>
      <welcome-file>login.jsp</welcome-file> 
      </welcome-file-list>
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/ApplicationContext.xml</param-value>
    </context-param>
    <!--
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>  
    -->
     <servlet>
      <servlet-name>SpringContextServlet</servlet-name> 
      <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> 
      <load-on-startup>1</load-on-startup> 
      </servlet>
    </web-app> login.jsp:
     <form name="login" action="login.action" method="post">LoginAction:
    public String execute() throws Exception
    {

    User u=userService.validateUser(user.getUsername(), user.getPassword());
    if(u!=null)
    {
    Map session = ActionContext.getContext().getSession();
    session.put("user", u);
    return SUCCESS;
    }
    return ERROR;
    }
      

  2.   

    看下你Strut的控制器的Action有没有在web.xml控制器里面配置
    <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>
      

  3.   

    如果这部分没问题的话,看下
    struts-config.xml 里面配置的
     <action
          input="/test.jsp"
          path="/xindai"
          type="类的名称" >
                 </action>看下类的名称是否是正确的,,类要写绝对的路径