测试环境: JDK 1.5 + HIBERNATE 3 + STRUTS 1.2.9     TOMCAT 5 + WIN XP
-----------------------------------------------------------------------
点击登录出现 :
Status reportServlet action is not availableThe requested resource (Servlet action is not available) is not available.web.xml >>>>>>>>>>>>>>>>>>>>>>>>>>>
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app>  <!-- Action Servlet Configuration -->
  <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>
    <load-on-startup>1</load-on-startup>  </servlet>  <!-- Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>  <!-- The Welcome File List  -->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  <!-- Struts Tag Library Descriptors -->
  <taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>    <taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib></web-app>
struts-config.xml >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<?xml version="1.0" encoding="ISO-8859-1" ?>

<!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> <form-beans>
<form-bean  name="LoginForm" 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-forwards
type="org.apache.struts.action.ActionForward">
<forward name="toWrong" path="/wrong.jsp"/>
<forward name="toSuccess" path="/MainFrame.jsp"/>
</global-forwards>
<action-mappings>
<action path="/login" type="cn.ocsky.LoginAction" name="LoginForm" scope="request"  input="/wrong.jsp" />
</action-mappings>

<controller processorClass="cn.ocsky.MyRequestProcessor"/>

<message-resources parameter="cn.ocsky.MyResource"/>

    <plug-in  className="org.apache.struts.validator.ValidatorPlugIn">
       <set-property 
         property="pathnames" 
         value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
   <set-property property="stopOnFirstError" value="false"/>
   </plug-in>
   
</struts-config>

解决方案 »

  1.   

    你的struts类包引入了没有?发布的时候发布到工程目录下的lib包里去了没?
      

  2.   

    把所有的包都导入了. 导到工程的LIB和TOMCAT的COMMON/LIB
    路径应该也没有问题咯.
      

  3.   

    这个是我的LOGINACTION.JAVA  >>>>>>>>>>>>>>>>>>>>>>>package cn.ocsky;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;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.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;
    import org.apache.struts.action.DynaActionForm;
    public final class LoginAction extends Action{
    public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,  
    HttpServletResponse response) throws Exception {

        DynaActionForm loginForm = (DynaActionForm) form;         
      String name = (String)loginForm.get("username");
    String psw =  (String)loginForm.get("password");

    Sysuser sysuser=new DbOperate().getUser(name);
    ActionMessages errors = new ActionMessages();
          
    if (sysuser==null){            //用户名错误
    errors.add(ActionMessages.GLOBAL_MESSAGE,
    new ActionMessage("errors.loginFail"));
    if (!errors.isEmpty()) {
    saveErrors(request, errors);

       return  mapping.findForward("toWrong");  
    }
    else{
    String dbPassword = sysuser.getPassword();
    if (dbPassword == null || !dbPassword.equals(psw)) {  //口令错误
    errors.add(ActionMessages.GLOBAL_MESSAGE,
    new ActionMessage("errors.loginFail"));
    if (!errors.isEmpty()) {
    saveErrors(request, errors);

    return  mapping.findForward("toWrong");  
    }
    else{
            HttpSession session = request.getSession();
    session.setAttribute(Constants.LOGIN_USER_KEY,sysuser);
        return (mapping.findForward("toSuccess"));//登陆成功
    }
    }
    }
    }