(david) wrote on 22 Aug 2003 06:37:38 -0700 in
comp.lang.java.programmer:
>I'm in the midst of developing a small webapp, I'm a beginner. And,
>I've run into an error I don't understand.
>
>I'm posting a session attribute in an Action...
>curSession.setAttribute("testorg", O); where O is a vector containing
>orgVO class objects.
>
>Here is my jsp...
(snip)
>when I run the jsp with the above as is (with the casting commented
>out) it works. I see that there are 83 objects in the vector, and
>that they are of class orgVO. Additionally, the initial section
>instantiates an orgVO class and I'm able to print out the name.
>However, If i uncomment the code I get a class cast exception for
>orgVO - i get this same exception with the using the iterate bean and
>with the java code.
>
>error:
>
>org.apache.jasper.JasperException: orgVO
> at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:254)
> at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:295)
> at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:241)...
>
>root cause
>
>java.lang.ClassCastException: orgVO
> at org.apache.jsp.catalog_jsp._jspService(catalog_jsp .java:116)
> at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:137)
> at javax.servlet.http.HttpServlet.service(HttpServlet .java:853)...
>
>
>Any one have any ideas/suggestions?
It probably has to do with classloaders. The objects in your vector
are of the orgV0 class, but their class was loaded by a different
classloader than the JSP's, and it was not a direct ancestor of the
JSP's classloader. Try making absolutely sure that the orgV0 class is
not in the system classpath when Tomcat starts, or in a jar file in
Tomcat's lib directory. Only let it be beneath the WEB-INF/classes
directory for your web app.
If that doesn't work, try putting the orgV0 class *in* your system
classpath and see if that helps. If Tomcat is following the rules for
classloaders, then the orgV0 class should only be loaded by the system
classloader, however that might not be the case.
----
Check out QueryForm, a free, open source, Java/Swing-based
front end for relational databases.
http://qform.sourceforge.net