我从会话中获取一个Object并将类型转换为某些用户对象。让我们这样说:
A a =(A)session.getAttribute("A"); //Class Cast Exception
背景:我将通过requestDispatch.forward(请求,响应)从普通的java类中获取jsp 在Java中,如果我做相同的转换,它工作正常, 但在JSP中(scripplet:我知道编码不好,但它是一个遗留的应用程序,无法帮助它),它无法正常工作
分析:
我从jsp会话中得到的对象,没有通过isInstanceOf测试(也是一个担心)(但是它在java中通过了这个测试)
如果我做同等比较,它也会失败(但它在java中通过了这个测试)
所以我在java和JSP中检查了类A的类加载器实例, 我看到两者都是不同的例子。
所以我的问题是如何确保类加载器实例是相同的? 还是我正确分析?还有什么我要检查更多? 任何命中你可以建议同样吗?
P.S> 1.我正在使用weblogic 10.3.6 2.我正在部署一个单独的战争(因此无需修改weblogic-application.xml以获取类加载层次结构。) 3.它是一个简单的java-servlet-jsp遗留应用程序,所以我没有使用anymvc框架的自由 4.我已经使用serialveruuid将我的DTO标记为Serializable 它在第一时间工作正常。但第二次继续,它开始失败