| 发表于:2007-08-24 00:14:01 楼主 |
谁能搞定啊!折磨我2天了! 我用jasperreport在windows环境下调试成功的报表在linux环境下报错。服务器是websphere应用服务器。客户端java控制台报的错误如下: java.io.eofexception at java.io.objectinputstream$peekinputstream.readfully(unknown source) at java.io.objectinputstream$blockdatainputstream.readshort(unknown source) at java.io.objectinputstream.readstreamheader(unknown source) at java.io.objectinputstream. <init> (unknown source) at net.sf.jasperreports.engine.util.jrloader.loadobject(jrloader.java:140) at jrprinterapplet.start(jrprinterapplet.java:41) at sun.applet.appletpanel.run(unknown source) at java.lang.thread.run(unknown source) nested by : java.io.eofexception at java.io.objectinputstream$peekinputstream.readfully(unknown source) at java.io.objectinputstream$blockdatainputstream.readshort(unknown source) at java.io.objectinputstream.readstreamheader(unknown source) at java.io.objectinputstream. <init> (unknown source) at net.sf.jasperreports.engine.util.jrloader.loadobject(jrloader.java:140) at jrprinterapplet.start(jrprinterapplet.java:41) at sun.applet.appletpanel.run(unknown source) at java.lang.thread.run(unknown source) nested by : net.sf.jasperreports.engine.jrexception: error loading object from url : http://oa.tjftz.gov.cn:9999/shareentbaseinfosuppportal?dowhat=999&nf=2007&yf=8&ri=1&jnf=2007&jyf=8&jri=30&creatuserid=13919 at net.sf.jasperreports.engine.util.jrloader.loadobject(jrloader.java:145) at jrprinterapplet.start(jrprinterapplet.java:41) at sun.applet.appletpanel.run(unknown source) at java.lang.thread.run(unknown source) caused by: java.io.eofexception at java.io.objectinputstream$peekinputstream.readfully(unknown source) at java.io.objectinputstream$blockdatainputstream.readshort(unknown source) at java.io.objectinputstream.readstreamheader(unknown source) at java.io.objectinputstream. <init> (unknown source) at net.sf.jasperreports.engine.util.jrloader.loadobject(jrloader.java:140) ... 3 more ---------------------------------------------------- 客户端代码 <object codebase=lib/jinstall-1_5_0-windows-i586.cab#version=1,5,0,0 height=0 width=0 classid=clsid:8ad9c840-044e-11d1-b3e9-00805f499d93> <param name= "code " value= "jrprinterapplet.class "> <param name= "archive " value= " <%=request.getcontextpath()%> /printer/printer.jar "> '); <param name= "report_url " value= " <%=request.getcontextpath()%> /shareentbaseinfosuppportal?dowhat=999&nf= <%=nf%> &yf= <%=yf%> &ri= <%=ri%> &jnf= <%=jnf%> &jyf= <%=jyf%> &jri= <%=jri%> &creatuserid= <%=creatid%> "> </object> ====================================================== 服务器端 jasperprint jasperprint = null; string relativepath = "/report/newreport.jasper "; //报表的相对路径,统一放在web应用程序的report路径下 string absolutepath = request.getsession().getservletcontext(). getrealpath(relativepath); //绝对路径 basicdb bdb = new basicdb(); connection conn = null; conn = bdb.getconnection(); try { jasperprint = jasperfillmanager.fillreport(absolutepath, props,conn); //jasperrunmanager.runreporttohtmlfile(absolutepath,props,new jremptydatasource()); servletoutputstream ouputstream = response.getoutputstream(); objectoutputstream oos = new objectoutputstream(ouputstream); oos.writeobject(jasperprint); //将jasperprint对象写入对象输出流中 oos.flush(); oos.close(); } catch (jrexception e) { e.printstacktrace(); } |
|
|
|
|