小弟初学strus,看的是strus in action 照例子敲了一个,但是一直是这个问题,我都把例子弄到最简单还是不行,抓狂了都,麻烦各位大哥大姐帮忙看一下:struts—config:
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config>    <form-beans>
     <form-bean
            name="logonform"
            type="app.logonForm"/>
       </form-beans>    <global-exceptions>
    </global-exceptions>    <global-forwards>
        <forward
            name="welcome"
            path="/Welcome.do"/> 
    </global-forwards>    <action-mappings>
        <action
            path="/Welcome"
            forward="/pages/Welcome.jsp"/>
            
        <action
            path="/logonSubmit"
            type="app.logonAction"
            name="logonform"
            scope="request"
            validate="false"
            input="/pages/welcome.jsp">
            <forward name = "success" path="pages/success.jsp"/>
            <forward name = "failure" path="pages/failure.jsp"/>
            </action>
        </action-mappings>    <message-resources parameter="MessageResources" />
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property
        property="pathnames"
        value="/org/apache/struts/validator/validator-rules.xml,
               /WEB-INF/validation.xml"/>
  </plug-in></struts-config>
************************************************************
logonForm.java:
package app;public class RegisterForm {private String username;
public String getUsername() {
return username;
}
public void setUsername(String i) {
username = i;
}}
**************************************
welcome.jsp:<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %><html:html>
<head>
<title><bean:message key="welcome.title"/></title>
<html:base/>
</head>
<body bgcolor="white"><html:form action = "/logonSubmit">
<html:text property = "username"/>
<html:submit/>
</html:form></body>
</html:html>
******************************************
logonAction.java:
import javax.servlet.http.*;
import java.io.*;public class RegisterAction extends Action {
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest req,
HttpServletResponse res) {
RegisterForm rf = (RegisterForm) form;
String username = rf.getUsername();ActionForward forward = new ActionForward();try {
   if(username=="xiaowang")
   forward = mapping.findForward("success");

catch (Exception e) 
{
forward = mapping.findForward("failure");
}
 else{
forward = mapping.findForward("failure");
}return (forward);
}
}
************************
代码都给我弄到简单的不行,但是还是包那个错误,怎么回事呢??

解决方案 »

  1.   

    就是报javax.servlet.ServletException: Exception creating bean of class app.logonForm: {1}
      

  2.   

    logonForm 没继承ActionForm;
    logonForm.java的文件名和里面的类名不一致public class RegisterForm 
    改成public class logonForm extends ActionForm{}试试.
      

  3.   

    gstring谢谢,你说的那个 错误是我后来不想打字,考过来时造成的错误,刚才该过了:
    package app;
    import org.apache.struts.action.ActionForm;public class logonForm extends ActionForm{private String username;
    public String getUsername() {
    return username;
    }
    public void setUsername(String i) {
    username = i;
    }}
    一直是不行的,还是报那个错啊,不过还是谢谢你。
      

  4.   

    在网上查相关错误都没有什么结果,但是有一个人说不应该继承ActionForm,试了试,貌似还是不行
      

  5.   

    错误在具体点,把错误的堆栈打出来;在看看类的路径有没问题,特别是WEB-INF目录下的classes文件夹.
      

  6.   

    谢谢楼上,类的路径D:\Tomcat 5.5\webapps\myApp\WEB-INF\classes\app
    错误的堆栈:
    org.apache.jasper.JasperException: Exception creating bean of class app.logonForm: {1}
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:113)
    org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
    org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
    org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      

  7.   

    logonAction中public class RegisterAction extends Action,RegisterForm rf = (RegisterForm) form也要改掉.
    没看到你写的代码文件报错,怀疑配置出了问题,struts.jar加进去了没.
      

  8.   

    另外logonAction.java,logonForm.java没看见import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
      

  9.   

    居然出了这么多差错,我用的是struts下的blank.war 
    现在还是报那个错
      

  10.   

    struts-config.xml里的<form-bean>看下路径有没有配置错.
      

  11.   

    http://topic.csdn.net/t/20050422/00/3956865.html
    5 楼WildGhost(野鬼)回复于 2005-04-28 14:13:54 得分 0 问题解决了:   
      我把WEB-INF目录下的classes文件夹写成class了,呵呵   
      谢谢大家
      

  12.   

    楼主是直接考的代码来试验的吧,可能原因:没有建立工程啊,只是把文件都拷贝了。选中工程,右键,选“Build Project”,然后再运行试试。
      

  13.   

    关键字: exception creating bean of class struts.form.: {1}
    这个是因为Form类没有找到 检查下struts-config.xml里form和form类名是否一致