If I understand correctly both ddm2 and dm5t are defined in .jsp files?
If so, you could separate class definitions from .jsp files.
-Ognjen
On 4.10.2010 15:38, Wolfgang Orthuber wrote:
w4a.jsp and w4b.jsp are the names of two different jsp files. Both contain
<%@ include file="wtovedi.jsp" %>
and the file wtovedi.jsp contains the listed read and write code with
the definitions of ddm2. ddm2 is a rather complex object of objects, but
it contains no reference to w4a.jsp or w4b.jsp which are just filenames.
Wolfgang
Am 04.10.2010 13:08, schrieb Ronald Klop:
What does ddm2 look like? Does it have a reference to the jsp object?
Ronald.
Op maandag, 4 oktober 2010 15:10 schreef Wolfgang Orthuber
<orthu...@kfo-zmk.uni-kiel.de>:
Hello,
my tomcat version is 5.5.17, my question concerns serialization of
objects, below is a code section for writing and reading an object.
If I call write immediately before read:
d5.write();
d5.read();
then all works fine, but if I use only read (on an formerly written
file) with the same code included in another program module, I got
the exceptions like this:
java.lang.ClassCastException: org.apache.jsp.w.w4a_jsp$1ddm2 cannot
be cast to org.apache.jsp.w.w4b_jsp$1ddm2
in which w4a.jsp and w4b.jsp are two different modules which include
the same code for read and write. The name of the program module is
stored in the serialized object, but the name of the program module
does not matter, because both modules include the same code.
Do you know a simple solution which avoids the exception?
Wolfgang
The code section with read and write:
class dm5t implements Serializable {
public ArrayList<ddm2> v5;
public dm5t () { v5 = new ArrayList<ddm2> (); }
public String topicpath(){return
getServletContext().getRealPath("")+"/tp/";}
public synchronized boolean write () {
String fn=fntopics;
boolean ok=true;
try {
String spath = topicpath();
FileOutputStream fs = new FileOutputStream (spath+fn);
ObjectOutputStream os = new ObjectOutputStream (fs);
os.writeObject (v5);
os.close ();}
catch (IOException e) {ok=false;} return ok;}
public synchronized boolean read () {
String fn=fntopics;
boolean ok=true;
ArrayList<ddm2> v5tmp=null;
try {
String spath = topicpath();
FileInputStream fs = new FileInputStream (spath+fn);
ObjectInputStream os = new ObjectInputStream (fs);
v5tmp = (ArrayList<ddm2>) os.readObject ();
os.close ();
} catch (IOException e) {ok=false;}
catch (ClassNotFoundException e) {ok=false;}
if (ok) if (v5tmp != null) v5=v5tmp;
return ok;}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org