A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

pathetic

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© pathetic 初级黑马   /  2016-3-16 01:54  /  510 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这是Applet程序的代码  
   private String url="http://127.0.0.1:8080/printPdf.jhtml?data={printFuntion:{print_no:\"10010\",ora_code:\"8010\"},query:{loadingbill:\"ZCD00001855\",ora_code:\"8010\"}}";
    public void  printPdf(String path){
        try {
            URL url =new URL(this.url);
            System.out.println("开始获取报表数据:"+url);  
            System.out.println( JRConstants.SERIAL_VERSION_UID);
            //JasperPrint jasperPrint = (JasperPrint)new ObjectInputStream(url.openStream()).readObject();
            Object jasperPrint=new ObjectInputStream(url.openConnection().getInputStream()).readObject();
            System.out.println("完成获取报表数据"+jasperPrint.toString());  
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
这个是后程序处理的方法
        @RequestMapping(value="/printPdf")
        public void printPdf(HttpServletRequest request,HttpServletResponse response) throws Exception {
            generationPDF.setExeSQL(connectionSQL);
            //response.setContentType("application/octet-stream");
            ObjectOutputStream oos =new ObjectOutputStream(response.getOutputStream());
            PublicGetJasperPrint p =new PublicGetJasperPrint();
            JasperPrint j =generationPDF.getJasperPrint(request);
            oos.writeObject(j);
            oos.flush();
            oos.close();
        }
我将JasperPrint  序列化到ObjectOutputStream 流中去了 然后在Applet用ObjectInputStream想反序列化出来JasperPrint对象却发现serialVersionUID版本不一致,确认的是同一个class文件JasperPrint 对象是net.sf.jasperreports.engine.JasperPrint 里面的!jre里面的jar和javaee里面的jar包是一致的!可是为什么无法反序列化读出来JasperPrint对象,一直提示serialVersionUID版本不对...难道是序列化的时候如果此类引用了其他类的话,其他类的serialVersionUID版本也需要一致? 我能猜到的也就只有这个原因了!感觉好奇怪? 目前还没有解决,由于项目中jasperreports的jar包太乱了,目前还在一个一个测试中! o(︶︿︶)o 唉

1 个回复

倒序浏览
一直提示serialVersionUID版本不一致,我就很纳闷了!这个类我反编译的时候发现他指定了serialVersionUID版本,和错误提示的serialVersionUID不一样!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马