(/struts2qs/Login.action)   is   not   available
根据出错提示,是找不到这个Login的action,检查下Login.action的配置,注意大小写

解决方案 »

  1.   

    最好能贴出struts.xml中的配置及对应的jsp(如果有的话)代码
      

  2.   

    struts.xml的代码是:
    <?xml version="1.0" encoding="GBK"?>
    <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">
    <!-- 定义Struts2的FilterDispathcer的Filter -->
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        </filter> <!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 -->
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping></web-app>
    提交页面的代码是:
    <%@ 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="text" 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里面没有体现你的那个Login.action 啊?
    把你Struts中的配置文件都调出来!
    应该是你的路径写错了!
    如果你请求的Action是Login.action的话就必须在配置文件"Struts-Config"中配置一样的action-mappings!要是还不明白就把那个Struts-Config文件打出来!
      

  4.   

    好像struts2.0不用配置Struts-Config的吧~~~
      

  5.   

    给你看看我的配置:
    xwork.xml
    <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd"><xwork>
    <include file="webwork-default.xml" />
    <package name="default" extends="webwork-default">
    <interceptors>
    <interceptor-stack name="modelParamsStack">
    <interceptor-ref name="params" />
    <interceptor-ref name="model-driven" />
    </interceptor-stack>
    </interceptors>
    <action name="login"
    class="com.dhcc.webwork.action.LoginAction">
    <result name="success" type="dispatcher">
    <param name="location">/main.jsp</param>
    </result>
    <result name="loginfail" type="dispatcher">
    <param name="location">/index.jsp</param>
    </result>
    <interceptor-ref name="modelParamsStack" />
    </action>
    </package>
    </xwork>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>
    <display-name>webwork</display-name>
    <filter>
    <filter-name>webwork</filter-name>
    <filter-class>
    com.opensymphony.webwork.dispatcher.FilterDispatcher
    </filter-class>
    </filter>
    <filter-mapping>
    <filter-name>webwork</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    <servlet>
    <servlet-name>freeer</servlet-name>
    <servlet-class>
    com.opensymphony.webwork.views.freeer.FreeerServlet
    </servlet-class>
    </servlet> <servlet-mapping>
    <servlet-name>freeer</servlet-name>
    <url-pattern>*.ftl</url-pattern>
    </servlet-mapping> <taglib>
    <taglib-uri>webwork</taglib-uri>
    <taglib-location>/WEB-INF/webwork.tld</taglib-location>
    </taglib>
    </web-app>
    希望对你有帮助
      

  6.   

    是贴出struts.xml中的配置,而不是web.xml
    jsp文件中<form   action= "Login.action "   method= "post "> 
    如果不用struts2的标签,那么action名称应该是完整路径名 /webName/xxx.action
      

  7.   

    <s:form action="login" method="post"></s:form>struts.xml<action name="login" class="packageName.LoginAction">
       .....
    </action>
      

  8.   

    贴代码吧。贴 struts.xml , web.xml  两个jsp页面的名字(取什么名字***.jsp),以及代码
    以及目录是怎么安排的? lib下放了哪几个jar文件?
      

  9.   

    还有 LoginAction.java 的内容,所用struts2的版本,
      

  10.   

    struts.xml的代码:
    <?xml version="1.0" encoding="GBK"?>
    <!DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
            "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        <package name="lee" extends="struts-default">
            <action name="Login" class="lee.LoginAction">
                <result name="error">/error.jsp</result>
                <result name="success">/welcome.jsp</result>        
            </action>
            <action name="GetBooks" class="lee.GetBooksAction">
                <result name="login">/login.jsp</result>
                <result name="success">/showBook.jsp</result>        
            </action>
        </package>
    </struts>LoginAction.java的代码是:
    package lee;import com.opensymphony.xwork2.Action;
    import com.opensymphony.xwork2.ActionContext;
    /**
     * @author  yeeku.H.lee [email protected]
     * @version  1.0
     * <br>Copyright (C), 2005-2008, yeeku.H.Lee
     * <br>This program is protected by copyright laws.
     * <br>Program Name:
     * <br>Date: 
     */public class LoginAction implements Action
    {
        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") )
    {
    ActionContext.getContext().getSession().put("user" , getUsername());
                return SUCCESS;
            }
    else
    {
                return ERROR;
            }
        }
    }
    已经把所有的jar文件都放到lib下面了~~~
      

  11.   

    <s:form  action= "Login "   method= "post "> 
          
    </s:form> struts.xml <action   name= "Login "   class= "lee.LoginAction "> 
          ..... 
    </action> 
      

  12.   

    如果还不行,检查下项目启动是否正常,设置tomcat的日值级别为info 来查看启动信息
      

  13.   

    再不行的话,把你的项目发我邮箱[email protected] 
      

  14.   

    你放在了lee包下面!
    struts.xml配置<package name="lee" namespace="/lee" extends="struts-default">
      

  15.   

    现在好像知道个大概问题出在那里,就是tomcat启动的时候没有加载我的struts文件,究竟是为什么啊???
    所有文件的代码都贴出来了~~~那位行行好,帮忙看看啊~~~
      

  16.   

    已经把所有的jar文件都放到lib下面了~~~
    ==========================================
    如果是这样的话,你看看你的tomcat启动时显示的信息,应该连启动都不能正常的,不能将所有
    jar都放去
    一般放5个即可(后面跟的数字是版本号,可能不一样)
    commons-logging-1.0.4.jar
    freeer-2.3.8.jar
    ognl-2.6.11.jar
    struts2-core-2.0.11.jar
    xwork-2.0.4.jar
      

  17.   

    struts.xml<action   name= "GetBooks"   class= "lee.GetBooksAction"> 
       <result   name= "login">/login.jsp</result> 
       <result   name= "success">/showBook.jsp</result>                 
    </action> 这里说明两个问题:
    1.你在有一个lee.GetBooksAction里面有个GetBooks的方法。
    2.成功跳转到showbook.jsp.所以相应的,你必须有上面的东西,至于你的Action就不管你怎么做判断了。
    值得注意的一点是:jsp是这样写的:<s:form action="Login" method="post">   
                
    </s:form>   
      

  18.   


    上面是我的tomcat启动是的信息~~~怎么都没有加载struts的信息啊???
    大家知道为什么吗??
    我是把文件夹放在tomcat下root目录下的.要是把文件夹放在webapp下的话,那tomcat的启动信息就如下:
      

  19.   

    struts.xml配置 <package   name="lee"   namespace="/struts2qs"   extends="struts-default"> 
      

  20.   

    description   The   requested   resource   (/struts2qs/Login.action)   is   not   available. 资源不存在看一下,/struts2qs/Login.action是否存在。TOMCAT/WEBAPPS/WEB-INF/CLASSES目录下及下级目录下是否存在LOGIN.action类
     
      

  21.   

    要是真的没有人知道什么问题的话,谁可以非常具体的说说struts2.0的安装全过程,包括都要安什么,步骤,如何设置环境变量,目录的设置等~~~是完全的从零开始的步骤.谢谢.
      

  22.   

     本群大量扩收J2EE软件开发人员,
    要具备‘多交流,多发言’,能互相讨论 和解决问题能力的有志人士,
    不具备者,下岗。。本群号:22206225
      

  23.   

    1.新建web工程
    2.把commons-logging-1.0.4.jar 
        freeer-2.3.8.jar 
        ognl-2.6.11.jar 
        struts2-core-2.0.11.jar 
        xwork-2.0.4.jar
    (红色的视版本而定)加入lib文件夹下面
    3.配置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">
    <display-name>Struts2Example</display-name>
    <filter>
        <filter-name>Struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter>   
            <filter-name>struts-cleanup</filter-name>   
            <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>   
        </filter> 
        <filter-mapping>
        <filter-name>Struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <filter-mapping>   
            <filter-name>struts-cleanup</filter-name>   
            <url-pattern>/*</url-pattern>   
        </filter-mapping>  
        <welcome-file-list>
    <welcome-file>/index.jsp</welcome-file>
         </welcome-file-list>
    </web-app>4.创建struts.xml文件,如:<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
        <package name="login" extends="struts-default">
            <action name="Logon" class="com.lhzx.Logon">
                <result type="redirect-action">/loginsuccess.jsp</result>
                <result name="input">/error.jsp</result>
            </action>
        </package>
    </struts>5.创建struts.properties配置文件
    6.创建jsp文件<%@ page language="java" pageEncoding="gb2312"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <html>
    <head>
    <title>Logon</title>
    <script type="text/javascript">
    function CheckForm(){
    var uname = document.forms[0].userName.value;
    var upwd = document.forms[0].userPwd.value;
    if(uname == ""){
    alert("请输入用户名!");
    return false;
    }
    if(upwd == ""){
    alert("请输入密码!");
    return false;
    }
    return true;
    }
    </script>
    </head>
    <body>
    <s:form action="Logon" theme="simple" onsubmit="return CheckForm();">
    <table width="200" border="1" cellpadding="0" cellspacing="0" align="center">
    <tr>
        <td height="25">
    <div align="center">
       Struts2.0的学习登陆
    </div>
        </td>
    </tr>
    <tr>
        <td>
    <div align="right">
        用户名:
        <s:textfield name="userName" size="14" />
    </div>
        </td>
    </tr>
    <tr>
        <td>
    <div align="right">
        密 码:
       <s:password name="userPwd" size="14" />
    </div>
        </td>
    </tr>
    <tr>
        <td>
    <div align="center">
        <s:submit value="登陆" />
        <s:reset value="取消" />
    </div>
        </td>
    </tr>
        </table>
        </s:form>
    </body>
    </html>7.创建LoginAction.javapublic class Logon extends ActionSupport {
        private String userName;
        private String userPwd;
        /**
           * @return the userName
        */
    public String getUserName() {
    return userName;
    } /**
     * @param userName the userName to set
     */
    public void setUserName(String userName) {
    this.userName = userName;
    } /**
     * @return the userPwd
     */
    public String getUserPwd() {
    return userPwd;
    } /**
     * @param userPwd the userPwd to set
     */
    public void setUserPwd(String userPwd) {
    this.userPwd = userPwd;
    }    public String execute() throws Exception {
    // TODO Auto-generated method stub
    UserDao userDao = new UserDao();
    if (userDao.isLogon(userName, userPwd) == true) {
    return SUCCESS;
    } else {
    return INPUT;
    }
    }
      

  24.   

    struts.xml写错了一个:<result type="redirect-action">/loginsuccess.jsp</result>
    改成
    <result>/loginsuccess.jsp</result>