Take a look at your jar files, specifically for struts.jar. Make sure it is
only available in yourApp/WEB-INF/lib directory and not in you
JDK_PATH/jre/lib/ext or TOMCAT_ROOT/lib or TOMCAT_ROOT/commons/lib.

Mark.

-----Original Message-----
From: hemant [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, April 03, 2002 10:29 AM
To: struts
Subject: Frustrating ClassCastException


I am currently using Tomcat 4.0.1 in a VisualAge 3.5.3 environment with
struts 1.0.2. 

Here is the scenario. 

I run both "struts-example" webapp and my "application" webapp, everything
works out fine. JSP's and Java files are created in the work directory in
Tomcat and everything is hunky dory.

Now I stop Tomcat and bring it backup and then attempt to test the
struts-example webapp. It works well. 

Now when I run my web app, I get a ClassCast Exception. Looks like it is
caused by ActionForm. But All my ActionForm's blissfully extend 
org.apache.struts.action.ActionForm.

Everything except struts-config and web.xml is the same in both webapps.
What could be wrong?

Thanks for your time
hemant

----------------------------------------------------------------------------
--------------

java.lang.ClassCastException
        java.lang.Throwable()
        java.lang.Exception()
        java.lang.RuntimeException()
        java.lang.ClassCastException()
        org.apache.struts.action.ActionForm
org.apache.struts.action.ActionServlet.processActionForm(org.apache.struts.a
ction.ActionMapping, javax.servlet.http.HttpServletRequest)
        org.apache.struts.action.ActionForm
org.apache.struts.action.ActionServlet.processActionForm(org.apache.struts.a
ction.ActionMapping, javax.servlet.http.HttpServletRequest)
        void
org.apache.struts.action.ActionServlet.process(javax.servlet.http.HttpServle
tRequest, javax.servlet.http.HttpServletResponse)
        void
org.apache.struts.action.ActionServlet.doPost(javax.servlet.http.HttpServlet
Request, javax.servlet.http.HttpServletResponse)
        void
javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest
, javax.servlet.http.HttpServletResponse)
        void
javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest,
javax.servlet.ServletResponse)
        void
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servl
et.ServletRequest, javax.servlet.ServletResponse)
        void
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.Servl
etRequest, javax.servlet.ServletResponse)
        void
org.apache.catalina.core.StandardWrapperValve.invoke(org.apache.catalina.Req
uest, org.apache.catalina.Response, org.apache.catalina.ValveContext)
        void
org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req
uest, org.apache.catalina.Response)
        void
org.apache.catalina.core.StandardPipeline.invoke(org.apache.catalina.Request
, org.apache.catalina.Response)
        void
org.apache.catalina.core.ContainerBase.invoke(org.apache.catalina.Request,
org.apache.catalina.Response)
        void
org.apache.catalina.core.StandardContextValve.invoke(org.apache.catalina.Req
uest, org.apache.catalina.Response, org.apache.catalina.ValveContext)
        void
org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req
uest, org.apache.catalina.Response)
        void
org.apache.catalina.core.StandardPipeline.invoke(org.apache.catalina.Request
, org.apache.catalina.Response)
        void
org.apache.catalina.core.ContainerBase.invoke(org.apache.catalina.Request,
org.apache.catalina.Response)
        void
org.apache.catalina.core.StandardContext.invoke(org.apache.catalina.Request,
org.apache.catalina.Response)
        void
org.apache.catalina.core.StandardHostValve.invoke(org.apache.catalina.Reques
t, org.apache.catalina.Response, org.apache.catalina.ValveContext)
        void
org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req
uest, org.apache.catalina.Response)
        void
org.apache.catalina.valves.ErrorDispatcherValve.invoke(org.apache.catalina.R
equest, org.apache.catalina.Response, org.apache.catalina.ValveContext)
        void
org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req
uest, org.apache.catalina.Response)
        void
org.apache.catalina.valves.ErrorReportValve.invoke(org.apache.catalina.Reque
st, org.apache.catalina.Response, org.apache.catalina.ValveContext)
        void
org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req
uest, org.apache.catalina.Response)
        void
org.apache.catalina.valves.AccessLogValve.invoke(org.apache.catalina.Request
, org.apache.catalina.Response, org.apache.catalina.ValveContext)
        void
org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req
uest, org.apache.catalina.Response)
        void
org.apache.catalina.core.StandardPipeline.invoke(org.apache.catalina.Request
, org.apache.catalina.Response)
        void
org.apache.catalina.core.ContainerBase.invoke(org.apache.catalina.Request,
org.apache.catalina.Response)
        void
org.apache.catalina.core.StandardEngineValve.invoke(org.apache.catalina.Requ
est, org.apache.catalina.Response, org.apache.catalina.ValveContext)
        void
org.apache.catalina.core.StandardPipeline.invokeNext(org.apache.catalina.Req
uest, org.apache.catalina.Response)
        void
org.apache.catalina.core.StandardPipeline.invoke(org.apache.catalina.Request
, org.apache.catalina.Response)
        void
org.apache.catalina.core.ContainerBase.invoke(org.apache.catalina.Request,
org.apache.catalina.Response)
        void
org.apache.catalina.connector.http.HttpProcessor.process(java.net.Socket)
        void org.apache.catalina.connector.http.HttpProcessor.run()
        void java.lang.Thread.run()



------------------------------------------------------------------------------
This message is intended only for the personal and confidential use of the designated 
recipient(s) named above.  If you are not the intended recipient of this message you 
are hereby notified that any review, dissemination, distribution or copying of this 
message is strictly prohibited.  This communication is for information purposes only 
and should not be regarded as an offer to sell or as a solicitation of an offer to buy 
any financial product, an official confirmation of any transaction, or as an official 
statement of Lehman Brothers.  Email transmission cannot be guaranteed to be secure or 
error-free.  Therefore, we do not represent that this information is complete or 
accurate and it should not be relied upon as such.  All information is subject to 
change without notice.



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

Reply via email to