There is a simple solution for this. Try using scope="page" (instead of scope="session") in your <jsp:UseBean> Tag.
This will make sure that the class is loaded for every page instead of once every session.
If the scope is session, the servlet class loader will load the class only once per session. So the object in the later page will be casted to the class of the previous session which is incompatable (unlike the object in the previous page).
Please let me know if my statement is incorrect.