类型转换错误
来源:互联网 发布:拳击实战知乎 编辑:程序博客网 时间:2024/05/20 18:40
转自http://www.myexception.cn/j2ee/821313.html
大神,请进。诡异的类型转换异常。
各位大牛,来看看看这个异常吧。代码背景:
这是两个项目的整合,在A项目中用session set了一个对象,然后将其封装到一个servletContext中,代码如下:
- Java code
HttpSession session = request.getSession(true); session.setAttribute(Constant.USER_SESSION, user); ServletContext context=session.getServletContext(); context.setAttribute("session", session);
然后在B项目中获取这个user对象,代码如下:
- Java code
HttpSession session=request.getSession(); ServletContext Context=session.getServletContext(); ServletContext Context1=Context.getContext("/A"); if(Context1 !=null && !Context1.equals("")){ HttpSession sess =(HttpSession)Context1.getAttribute("session"); User user=(User)sess.getAttribute(Constant.USER_SESSION); if(user!=null) System.out.println("username:--------"+user.getUserName()); }
然后抛出一个类型转换异常:
- Java code
java.lang.ClassCastException: com.nodoor.vo.User cannot be cast to com.nodoor.vo.User
我这样测试了下:System.out.println(sess.getAttribute(Constant.USER_SESSION) instanceof User)
结果竟然是false....求解。。。。
诡异的异常。纠结我一天了。。求解脱。
------解决方案--------------------
不是一个user
------解决方案--------------------
User在另外一个项目中使用时,包名 也必须跟session中存的那个 User一样,否则也会被认为两个User是不同的对象。
------解决方案--------------------
不同的ServletContext的实例也是不同的....建议楼主将传对象改为传基本类型数组,过来再封装对象。
解决方法:
1.进行类型转换的时候 先用instansof 来判断当前对象是否是你想要的类型 这样就会避免出错啦
2.
0 0
- 类型转换错误
- 找出错误:类型转换
- sprintf错误以及类型转换
- Flex强制类型转换错误
- CallFuncN出现类型转换错误
- android ClassCastException 类型转换错误
- 类型转换、输入与错误
- Struts2 类型转换错误相关。
- Struts2类型转换----常规类型,自定义类型,错误处理
- Struts2类型转换(一)----常规类型,自定义类型,错误处理
- spring mvc int 类型转换错误
- oracle之时间类型转换错误
- Flex Module中 类型转换错误
- struts2自定义类型转换错误的消息
- 百度地图的application类型转换错误
- 关于setLayoutParams的类型转换错误
- 当AOP代理遇上类型转换错误
- selenium的中文文字类型转换错误
- linux mysql操作指令
- Ubuntu15.10 Hadoop伪分布式环境安装
- javascript中遍历EL表达式List集合中的值
- 禁止选择文本的兼容写法
- SVN和Git的使用
- 类型转换错误
- 笔试面试题14---.h/.exe/.lib/.dll文件
- java NIO读写文件
- UVa 10279 - Mine Sweeper
- ListView,GridView的下拉刷新和上拉加载。
- Nginx配置文件详细说明
- jquery点击空白处隐藏弹出层的写法
- Android Studio 更新 Android 6.0 之后无法找到 org.apache.http 包的问题
- 各版本eclipse对应的egit版本下载地址