Struts:HTTP Status 404 - Servlet action is not available
struts.cfg.xm文件
?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="adminloginForm" type="org.apache.struts.validator.DynaValidatorForm">
      <form-property name="username" type="java.lang.String" />
      <form-property name="password" type="java.lang.String" />
    </form-bean>  </form-beans>  <global-exceptions />
  <global-forwards >
      </global-forwards>  <action-mappings >
    <action
      attribute="adminloginForm"
      input="/adminlogin.jsp"
      name="adminloginForm"
      path="/adminlogin"
      scope="request"
      type="org.springframework.web.struts.DelegatingActionProxy">
      <forward name="fail" path="/adminlogin.jsp" />
      <forward name="success" path="/adminmain.jsp" />
    </action>  </action-mappings>  <message-resources parameter="com.csu.struts.ApplicationResources" />
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
  </plug-in>
  <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
  </plug-in>
  
</struts-config>spring配置文件是
beans>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/mydata</value>
</property>
<property name="username">
<value>root</value>
</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.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/csu/Hibernate/Adminuser.hbm.xml</value></list>
</property></bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
         <property name="sessionFactory">
         <ref local="sessionFactory" />
         </property>
    </bean>
    <bean id="AdminuserDAO" class="dao.AdminuserDAO">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<bean id="AdminuserDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
          <property name="transactionManager">
           <ref bean="transactionManager" />
        </property>
           <property name="target">
             <ref local="AdminuserDAO" />
        </property>
        <property name="transactionAttributes">
        <props>
           <prop key="insert*">PROPAGATION_REQUIRED</prop>
           <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
           <prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>
        </props>
        </property>
    </bean>
    <bean id="ServiceImp" class="service.ServiceImp">
         <property name="adminuserDAO">
                  <ref local="AdminuserDAO"/>
          </property>
     </bean>
     
  <bean name="/adminlogin" class="com.csu.struts.action.AdminloginAction" singleton="false">
        <property name="serviceImp">
              <ref bean="ServiceImp" />
        </property>
</bean>
     
</beans>

解决方案 »

  1.   

    不好意思代码多了 请多指教 实在不知道错在哪里了 我用是的是动态的actionform,大家帮帮忙吧 
    validation.xml文件
    <?xml version="1.0" encoding="UTF-8"?>
    <form-validation>
     <formset>
      <form name="adminloginForm">
       <field property="username" depends="required">
        <arg0 key="prompt.username" />
       </field>
       <field property="password" depends="required">
        <arg0 key="prompt.password" />
       </field>
      </form>
     </formset>
    </form-validatio>
    adminlogin.jsp代码
    <%@ page language="java"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%> 
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
     
    <html> 
    <head>
    <title>JSP for DynaValidatorForm form</title>
    </head>
    <body>
    <html:form action="/adminlogin" method="Post">
    userName : <html:text property="username"/><html:errors property="userName"/><br/>
    password : <html:text property="password"/><html:errors property="password"/><br/>
    <html:submit/><html:cancel/>
    </html:form>
    </body>
    </html>搞了一天了 多多帮忙 新手急着用
      

  2.   

    这个是信息
    2007-4-22 23:04:49 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
    信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program Files\Java\jdk1.6.0_01\bin;D:\Tomcat 5.5\bin
    2007-4-22 23:04:49 org.apache.coyote.http11.Http11BaseProtocol init
    信息: Initializing Coyote HTTP/1.1 on http-8080
    2007-4-22 23:04:49 org.apache.catalina.startup.Catalina load
    信息: Initialization processed in 985 ms
    2007-4-22 23:04:49 org.apache.catalina.core.StandardService start
    信息: Starting service Catalina
    2007-4-22 23:04:49 org.apache.catalina.core.StandardEngine start
    信息: Starting Servlet Engine: Apache Tomcat/5.5.23
    2007-4-22 23:04:49 org.apache.catalina.core.StandardHost start
    信息: XML validation disabled
    log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
    log4j:WARN Please initialize the log4j system properly.
    2007-4-22 23:04:54 org.apache.coyote.http11.Http11BaseProtocol start
    信息: Starting Coyote HTTP/1.1 on http-8080
    2007-4-22 23:04:54 org.apache.jk.common.ChannelSocket init
    信息: JK: ajp13 listening on /0.0.0.0:8009
    2007-4-22 23:04:54 org.apache.jk.server.JkMain start
    信息: Jk running ID=0 time=0/94  config=null
    2007-4-22 23:04:54 org.apache.catalina.storeconfig.StoreLoader load
    信息: Find registry server-registry.xml at classpath resource
    2007-4-22 23:04:54 org.apache.catalina.startup.Catalina start
    信息: Server startup in 4875 ms
      

  3.   

    浏览器显示的错误是
    Struts:HTTP Status 404 - Servlet action is not available
      

  4.   

    可是我写了action这个是我代码
    package com.csu.struts.action;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.validator.DynaValidatorForm;
    import service.ServiceImp;
    import vo.Adminuser;
    /** 
     * MyEclipse Struts
     * Creation date: 04-22-2007
     * 
     * XDoclet definition:
     * @struts.action path="/adminlogin" name="adminloginForm" input="/adminlogin.jsp" scope="request" validate="true"
     */
    public class AdminloginAction extends Action {  private ServiceImp serviceImp;
     
     public ServiceImp getServiceImp() {
      return serviceImp;
     }
     
     public void setServiceImp(ServiceImp serviceImp) {
      this.serviceImp = serviceImp; 
     } public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
        DynaValidatorForm adminloginForm = (DynaValidatorForm) fo
        Adminuser adminuser=new Adminuser();
        adminuser.setUserName(adminloginForm.getString("username"));
        adminuser.setPassword(adminloginForm.getString("password"));
         if (serviceImp.isAdmin(adminuser)) {
            return mapping.findForward("success");
          } else {
           return mapping.getInputForward();
          }
       }

    }