Rajan,

Your form name "LoginForm.do" and the action's form name of "LoginForm" do not 
match exactly.  I recommend you change
your form-bean from:
I expect the ".do you added to your form-bean name to be the problem:

<form-bean name="LoginForm.do" type="myproject1.com.LoginForm"/>

to:

<form-bean name="LoginForm" type="myproject1.com.LoginForm"/>

Regards,
David

-----Original Message-----
From: rajan pahuja [mailto:[EMAIL PROTECTED]
Sent: Monday, May 08, 2006 12:04 AM
To: user@struts.apache.org
Subject: ERROR 500: javax.servlet.ServletException: Cannot retrieve
definition for form bean


    Hi
    I need your help.I have been getting this error for past 3 days and i have 
not been able to trace the reason.

  i m gettin ERROR 500:
    javax.servlet.ServletException: Cannot retrieve definition for form bean 
LoginForm on action /doLogin
    
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.pages.login_jsp._jspService(login_jsp.java:96)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
    
org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:1001)
    
org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:560)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:209)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


    root cause

    javax.servlet.jsp.JspException: Cannot retrieve definition for form bean 
LoginForm on action /doLogin
    org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:761)
      org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:443)
    org.apache.jsp.pages.login_jsp._jspx_meth_html_form_0(login_jsp.java:146)
    org.apache.jsp.pages.login_jsp._jspx_meth_html_html_0(login_jsp.java:122)
    org.apache.jsp.pages.login_jsp._jspService(login_jsp.java:87)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
    
org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:1001)
      
org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:560)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:209)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

    Struts-Config.xml:

    <struts-config>

    <data-sources>
    ..........
    </data-sources>

    <form-beans>
    <form-bean name="LoginForm.do" type="myproject1.com.LoginForm"/>

    </form-beans>
    <global-forwards>
    <forward name="Welcome" path="/LoginForm.do"/>


    <action-mappings>
    <action path="/LoginForm" forward="/pages/login.jsp"></action>



    <action path="/doLogin"
    type="myproject1.com.LoginAction"
    name="LoginForm"
    scope= "request"
    validate="false"
    parameter="/pages/login.jsp">
    <forward name="success" path="/Home.do" redirect="true"/>
    <forward name="failure" path="/LoginForm.do" />
    </action>

    </action-mappings>

    <message-resources parameter="java.MessageResources" />

    </struts-config>


    LoginForm is:

    package myproject1.com;

    import javax.servlet.http.HttpServletRequest;

    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;

    public class LoginForm extends ActionForm
    {
    private String name=null;
    private String password=null;

    public   void reset(ActionMapping mapping, HttpServletRequest request) {
    this.name=null;
    this.password=null;

    }

    public ActionErrors validate(
    ActionMapping mapping, HttpServletRequest request ) {
    ActionErrors errors = new ActionErrors();

    if( getName() == null || getName().length() < 1 ) {
    errors.add("name",new ActionMessage("error.name.required"));
    }
    if( getPassword() == null || getPassword().length() < 1 ) {
    errors.add("password",new ActionMessage("error.password.required"));
    }
    return errors;
    }

    public String getName() {
    return name;
    }

    public String getPassword() {
    return password;
    }

    public void setName(String name) {
    this.name = name;
    }

    public void setPassword(String password) {
    this.password = password;
    }

    LoginAction Class is:


    package   myproject1.com;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import javax.sql.DataSource;

    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 com.stocks.user.bean.UserBean;
    import com.stocks.user.sql.AuthenticateUser;
    import com.stocks.user.sql.GetUserInfo;

    public class LoginAction extends Action {
        public ActionForward execute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                throws Exception {

            LoginForm myform = (LoginForm) form;

            String username = myform.getName();
            String password = myform.getPassword();

            DataSource dataSource = getDataSource(request);

            if ((new AuthenticateUser()).execute( username, password, 
dataSource)) {
                HttpSession session = request.getSession(true);
                // get userId from database for username
                UserBean user = (new GetUserInfo()).execute(username, 
dataSource);
                session.setAttribute("user", user);
                return (mapping.findForward("success"));
            } else
                  return (mapping.findForward("failure"));
        }
    }

---------------------------------
 Yahoo! India Answers: Share what you know. Learn something new. Click here


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to