(太长了,写在这里)
register.jsp:
-----------------------------------------------------------------
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> 
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> 
<html> 
<head>
<meta name = "Generator" content = "Easy Struts Xslt generator for Eclipse (http://easystruts.sf.net)."> <title>Struts Form for registerForm</title>
</head>
<body>
<html:form action="/register">
password1 : <html:password property="password1"/><html:errors property="password1"/></br>
password2 : <html:password property="password2"/><html:errors property="password2"/></br>
username : <html:text property="username"/><html:errors property="username"/></br>
<html:submit/><html:cancel/>
</html:form>
<body>
</html>
----------------------------------------------------------
RegisterAction.java:
-----------------------------------------------------------
// Created by Xslt generator for Eclipse.
// XSL :  not found (java.io.FileNotFoundException:  (Bad file descriptor))
// Default XSL used : easystruts.jar$org.easystruts.xslgen.JavaClass.xslpackage app;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;/** 
 * RegisterAction.java created by EasyStruts - XsltGen.
 * http://easystruts.sf.net
 * created on 07-21-2004
 * 
 * XDoclet definition:
 * @struts:action path="/register" name="registerForm" input="/register.jsp" validate="true"
 * @struts:action-forward name="/index.jsp" path="/index.jsp"
 * @struts:action-forward name="/error.jsp" path="/error.jsp"
 */
public class RegisterAction extends Action
{ // --------------------------------------------------------- Instance Variables
public ActionForward perform (ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res) 
{
RegisterForm rf = (RegisterForm) form;
String username = rf.getUsername();
String password1 = rf.getPassword1();
String password2 = rf.getPassword2();
if (password1.equals(password2))
{
mapping.findForward("success");
}
return  mapping.findForward("fail");
}
// --------------------------------------------------------- Methods}
----------------------------------------------------------
RegisterForm.java:
---------------------------------------------------------------------
public class RegisterForm extends ActionForm
{ // --------------------------------------------------------- Instance Variables /** password2 property */
private String password2; /** username property */
private String username; /** password1 property */
private String password1; // --------------------------------------------------------- Methods /** 
 * Returns the password2.
 * @return String
 */
public String getPassword2()
{
return password2;
} /** 
 * Set the password2.
 * @param password2 The password2 to set
 */
public void setPassword2(String password2)
{
this.password2 = password2;
} /** 
 * Returns the username.
 * @return String
 */
public String getUsername()
{
return username;
} /** 
 * Set the username.
 * @param username The username to set
 */
public void setUsername(String username)
{
this.username = username;
} /** 
 * Returns the password1.
 * @return String
 */
public String getPassword1()
{
return password1;
} /** 
 * Set the password1.
 * @param password1 The password1 to set
 */
public void setPassword1(String password1)
{
this.password1 = password1;
}}
-------------------------------------------------------------------
struts-config:
------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
    
    <!-- ========== Data Source Configuration =============================== -->
    <data-sources />
    
    <!-- ========== Form Bean Definitions ================================== -->
    <form-beans>
        <form-bean name="registerForm" type="app.RegisterForm">
            <form-property name="password2" type="java.lang.String" />
            <form-property name="username" type="java.lang.String" />
            <form-property name="password1" type="java.lang.String" />
        </form-bean>
        
    </form-beans>
    
    <!-- ========== Global Exception Definitions ============================== -->
    <global-exceptions />
    
    <!-- ========== Global Forward Definitions =============================== -->
    <global-forwards />
    
    <!-- ========== Action Mapping Definitions =============================== -->
    <action-mappings>
        <action
            attribute="registerForm"
            input="register"
            name="registerForm"
            path="/register"
            type="app.RegisterAction">
            <forward name="success" path="/index.jsp" />
            <forward name="fail" path="/error.jsp" />
        </action>
    </action-mappings>
    
    <!-- ========== Controller Configuration ================================ -->
    <controller />
    
    <!-- ========== Message Resources Definitions ============================ -->
    <message-resources parameter="app.ApplicationResources" />
    
    <!-- ========== Plug Ins Configuration ================================= -->
</struts-config>---------------------------------------------------------------------
web.xml:
------------------------------------------------------------------<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. -->
<web-app>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        
    </welcome-file-list>
    <error-page>
        <error-code>404</error-code>
        <location>/error.jsp</location>
        
    </error-page>
    <servlet>
        <servlet-name>register</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>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>register</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
</web-app>

解决方案 »

  1.   

    另外,我是用easystruts插件进行开发的
      

  2.   

    哦,对了,我是在浏览器里打:localhost:8080/register/register.jsp的,出现这样的错误,如果打localhost:8080/register/register.do,就出现找不到网页。
      

  3.   

    你的代码太长了,也不好分析。
    开始学,可先用Struts专门的开发工具例如JavaWebStudio的visual struts版本进行一些练习,那样有许多的项目模板,还有文件向导,配置都是自动的,一般不会出错。学习好后再回过头分析上述代码。
    http://www.csdn.net/Develop/list_article.asp?author=kui&myclassid=0&myclassName=未归类
      

  4.   


            <servlet-name>register</servlet-name>
            <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    这个地方应该是
            <servlet-name>action</servlet-name>
            <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
      

  5.   

    没仔细看太长
    你把<html:form action="/register">  改成>html:form action="/register/register.do"。这是不是你自己写的啊
    如果是down的,可能就是context的问题了
      

  6.   

    我写struts都是用JBX 自动生成的。。还有你要把这些文件copy到工作目录下,如你用tomcat就copy到tomcat的webapps目录下面
      

  7.   

    谢谢大家,我昨天已经调试成功了,有多方面原因,呵呵,自己初学,耽误大家很多时间,麻烦大家了:)
    另外http://www.csdn.net/Develop/list_article.asp?author=kui&myclassid=0&myclassName=未归类
    这个地方真的不错哦~~是kui你自己的区吗?
    你有email不?以后有问题问你也方便:)
      

  8.   

    [email protected]
    [email protected]