Struts/jsp Class Cast Exception

Discussion in 'Java' started by david, Aug 22, 2003.

  1. david

    david Guest

    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...
    ---------------------------------------------------------------------------
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ page import="Beans.*, java.util.*" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

    <%
    orgVO[] newOrg = new orgVO[1];
    newOrg[0] = new orgVO("david", "test");
    out.println(newOrg[0].getorgName());


    HttpSession catalogSession = request.getSession(true);
    Vector test = (Vector) catalogSession.getAttribute("testorg");
    Object [] orgtest = test.toArray();
    Object d = orgtest[0];
    Class x = d.getClass();
    String classX = x.getName();
    out.println("**" + classX + "**");
    //orgVO testd = (orgVO) d;

    if (test == null) {out.println("test data not received");} else {
    int i = test.size();
    out.println("size = " + i);
    for (int x1 = 0; x1 < i; x1++){
    // orgVO t = (orgVO) test.elementAt(x);
    // out.println(t.getorgName());
    // out.println(test.elementAt(x).getorgName());
    }
    out.println("test data received");}
    %>


    //<logic:iterate id="element" collection="<%=test %>"
    type="Beans.orgVO">
    //<bean:write name="element" property="orgName" filter="true"/>
    //</logic:iterate>


    <html:html locale="true">
    <head>
    <title><bean:message key="index.title" /></title>
    <html:base/>
    </head>

    </html:html>
    ---------------------------------------------------------------

    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.service(JspServletWrapper.java:254)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.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(HttpJspBase.java:137)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)...


    Any one have any ideas/suggestions?

    thanks,
    david
     
    david, Aug 22, 2003
    #1
    1. Advertising

  2. david

    Dave Glasser Guest

    (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.service(JspServletWrapper.java:254)
    > at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    > at org.apache.jasper.servlet.JspServlet.service(JspServlet.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(HttpJspBase.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
     
    Dave Glasser, Aug 23, 2003
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Matthias Nietz
    Replies:
    1
    Views:
    3,468
    VisionSet
    Nov 12, 2003
  2. Replies:
    1
    Views:
    565
    Andrea Desole
    Dec 14, 2005
  3. Replies:
    0
    Views:
    4,441
  4. MSG

    to cast or not to cast malloc ?

    MSG, Feb 6, 2004, in forum: C Programming
    Replies:
    38
    Views:
    1,096
    Dan Pop
    Feb 10, 2004
  5. Daku
    Replies:
    2
    Views:
    478
Loading...

Share This Page