|
|
|
JasperReports
|
|||
|---|---|---|---|
|
#18+
Подскажите в чем проблема. Беру книжный пример работы с jasperReports. Ошибка возникает в строке: JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, new HashMap(), dataSource); что за invalid stream header? код примера ниже. ----------------------- java.io.StreamCorruptedException: invalid stream header at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:737) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:188) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:580) at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfStream(JasperRunManager.java:368) at XmlDSReportServlet.doGet(XmlDSReportServlet.java:27) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644) at java.lang.Thread.run(Thread.java:534) NESTED BY : net.sf.jasperreports.engine.JRException: Error loading object from InputStream at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:193) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:580) at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfStream(JasperRunManager.java:368) at XmlDSReportServlet.doGet(XmlDSReportServlet.java:27) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644) at java.lang.Thread.run(Thread.java:534) Caused by: java.io.StreamCorruptedException: invalid stream header at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:737) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:253) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:188) ... 29 more -------JasperReportServlet.java----------- public class JasperReportServlet extends HttpServlet { private JRDataSource createReportDataSource() { JRMapCollectionDataSource dataSource; Collection reportRows = initializeMapCollection(); dataSource = new JRMapCollectionDataSource(reportRows); return dataSource; } private Collection initializeMapCollection() { ArrayList reportRows = new ArrayList(); HashMap datasourceMap = new HashMap(); datasourceMap .put( "lots_of_data", "This element contains so much data, " + "there is no way it will ever fit in the text field without it stretching."); reportRows.add(datasourceMap); return reportRows; } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletOutputStream servletOutputStream = response.getOutputStream(); InputStream reportStream = getServletConfig().getServletContext(). getResourceAsStream("/TextFieldStretchDemo.jasper"); try { JRDataSource dataSource = createReportDataSource(); JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, new HashMap(), dataSource); response.setContentType("application/pdf"); servletOutputStream.flush(); servletOutputStream.close(); } catch (Exception e) { StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter); e.printStackTrace(printWriter); response.setContentType("text/plain"); response.getOutputStream().print(stringWriter.toString()); } } } -----TextFieldStretchDemo.jasper-------- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"> <jasperReport name="TextFieldStretchDemo"> <field name="lots_of_data" class="java.lang.String"/> <detail> <band height="30"> <textField isStretchWithOverflow="true"> <reportElement x="0" y="0" width="100" height="24"/> <textFieldExpression class="java.lang.String"> <![CDATA[$F{lots_of_data}]]> </textFieldExpression> </textField> </band> </detail> </jasperReport> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2007, 14:18:02 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34589532&tid=2145448]: |
0ms |
get settings: |
20ms |
get forum list: |
26ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
60ms |
get topic data: |
18ms |
get forum data: |
5ms |
get page messages: |
60ms |
get tp. blocked users: |
3ms |
| others: | 338ms |
| total: | 540ms |

| 0 / 0 |
