cuiyi's blog(崔毅 crazycy)

          記錄點滴 鑒往事之得失 以資于發展
          數據加載中……

          苦不堪言,iReport + JasperReports項目中的歷練(二)

          1)  java.lang.InternalError: erroneous handlers
          error like following
          Servlet.service() for servlet action threw exception
          java.lang.InternalError: erroneous handlers
              at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:
          250)
              at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfStream(JasperExportManager.java:
          167)
              at com.justcommodity.cxc.jsp.reports.CxcReportBasedEnhSqlAction$$M$573fee08.write2Stream(CxcReportBasedEnhSqlAction.java:
          161)
              at com.justcommodity.cxc.jsp.reports.CxcReportBasedEnhSqlAction$$M$573fee08.execute(CxcReportBasedEnhSqlAction.java:
          62)
              at com.justcommodity.cxc.jsp.reports.CxcReportBasedEnhSqlAction$$A$573fee08.execute(
          <generated>:0)
              at com.justcommodity.cxc.jsp.reports.CxcReportBasedEnhSqlAction.execute(
          <generated>:0)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:
          484)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
          274)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
          1482)
              at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:
          507)
              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:
          252)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
          173)
              at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:
          672)
              at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:
          463)
              at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:
          398)
              at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:
          301)
              at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:
          1069)
              at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:
          455)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
          279)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
          1482)
              at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:
          507)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          697)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          810)

          just cause lacking some jar, like I used jasperreport.jar, but with no iText.jar, so the error happen

          2) java.io.IOException: java.awt.Image fetch aborted or errored
          error like following
          java.io.IOException: java.awt.Image fetch aborted or errored
                  at com.lowagie.text.Image.getInstance(Unknown Source)
                  at com.lowagie.text.Image.getInstance(Unknown Source)
                  at net.sf.jasperreports.engine.export.JRPdfExporter.exportImage(JRPdfExporter.java:
          1075)
                  at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:
          480)
                  at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:
          448)
                  at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:
          413)
                  at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:
          250)
                  at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfStream(JasperExportManager.java:
          167)
                  at com.justcommodity.cxc.jsp.reports.CxcReportBasedEnhSqlAction.write2Stream(CxcReportBasedEnhSqlAction.java:
          164)
                  at com.justcommodity.cxc.jsp.reports.CxcReportBasedEnhSqlAction.execute(CxcReportBasedEnhSqlAction.java:
          69)
                  at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:
          484)
                  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
          274)
                  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
          1482)
                  at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:
          507)
                  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:
          252)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
          173)
                  at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:
          672)
                  at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:
          463)
                  at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:
          398)
                  at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:
          301)
                  at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:
          1069)
                  at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:
          455)
                  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
          279)
                  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
          1482)
                  at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:
          507)
                  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:
          252)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
          173)

          You know, java can release resource, but it never catch the process of memory running;
          So, while doing batch print, so you can open Is Cache & Is Delay, both the two options can make you sure using the pic only once, and read from cache later.

          3) java.io.EOFException
          12:06:47,612 ERROR [ReportAction]
            demo.jsp.reports.ReportException: java.io.EOFException
                  at java.io.DataInputStream.readInt(DataInputStream.java:
          358)
                  at demo.jsp.reports.Report.throwAnyErrorFromChild(CxcReport.java:
          664)
                  at demo.jsp.reports.Report.writeReportToStream(CxcReport.java:
          740)
                  at demo.jsp.reports.ReportAction.execute(CxcReportAction.java:
          110)
                  at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:
          484)
                  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
          274)
                  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
          1482)
                  at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
          525)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          717)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          810)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
          252)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
          173)
                  at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:
          672)
                  at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:
          463)
                  at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:
          398)
                  at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:
          301)
                  at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:
          1069)
                  at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:
          455)
                  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
          279)
                  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
          1482)
                  at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
          525)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          717)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          810)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
          252)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
          173)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:
          292)
                  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:
          116)
                  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:
          79)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:
          303)
                  at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:
          246)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:
          303)
                  at com.jc.cxc.web.filter.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:
          171)
          Caused by: java.io.EOFException
                   
          32 more
          12:06:47,615 ERROR [ReportAction]
          ClientAbortException:  java.net.SocketException: Write failed: Broken pipe
                  at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:
          327)
                  at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:
          293)
                  at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:
          97)
                  at demo.jsp.reports.ReportAction.execute(ReportAction.java:
          132)
                  at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:
          484)
                  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
          274)
                  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
          1482)
                  at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
          525)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          717)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          810)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
          252)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
          173)
                  at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:
          672)
                  at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:
          463)
                  at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:
          398)
                  at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:
          301)
                  at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:
          1069)
                  at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:
          455)
                  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
          279)
                  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
          1482)
                  at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
          525)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          717)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          810)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
          252)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
          173)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:
          292)
                  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:
          116)
                  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:
          79)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:
          303)
                  at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:
          246)
                  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:
          303)
                  at com.jc.cxc.web.filter.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:
          171)
          Caused by: java.net.SocketException: Write failed: Broken pipe
                  at jrockit.net.SocketNativeIO.writeBytesPinned(Native Method)
                  at jrockit.net.SocketNativeIO.socketWrite(Unknown Source)
                  at java.net.SocketOutputStream.socketWrite0(SocketOutputStream.java)
                  at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:
          92)
                  at java.net.SocketOutputStream.write(SocketOutputStream.java:
          136)
                  at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:
          746)
                  at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:
          433)
                  at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:
          304)
                  at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:
          991)
                  at org.apache.coyote.Response.action(Response.java:
          182)
                  at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:
          322)
                  at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:
          293)
                  at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:
          97)
                  at com.justcommodity.cxc.jsp.reports.CxcReportAction.execute(CxcReportAction.java:
          132)
                  at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:
          484)
                  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
          274)
                  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
          1482)
                  at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
          525)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          717)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          810)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
          252)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
          173)
                  at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:
          672)
                  at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:
          463)
                  at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:
          398)
                  at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:
          301)
                  at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:
          1069)
                  at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:
          455)
                  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
          279)
                  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
          1482)
                  at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
          525)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          717)
            測試了所有能排除的問題,最后解決了,絕對不解釋,哈哈
          另外把java.io.EOFException查找到比較好的資料帖過來:
          ------------------轉-start-----------------
          摘自http://xiao-yi.javaeye.com/blog/151120
          摘自http://blog.csdn.net/fengzi1/archive/2008/01/30/2073433.aspx

          ClientAbortException,java.net.SocketException.
          關鍵字: Tomcat ClientAbortException
          TOMCAT報異常,如下:

          引用
          java.lang.RuntimeException: javax.xml.transform.TransformerException: ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error
          at org.ajaxanywhere.XMLHandler.sendDOMDocument(XMLHandler.java:
          123)
          at org.ajaxanywhere.XMLHandler.sendZones(XMLHandler.java:
          93)
          at org.ajaxanywhere.AAFilter.doFilter(AAFilter.java:
          76)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
          202)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
          173)

          等等,在下面還能看到這樣的提示:
          Caused by: java.net.SocketException: Connection reset by peer: socket write error

          查了下TOMCAT的文檔,解釋如下:

          引用
          Wrap an IOException identifying it as being caused by an abort of a request by a remote client.

          在BAIDU和GOOGLE上找了下原因,大概歸結為:

          ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error的原因是由于處理http連接時,正在輸出內容時,用戶關閉了IE,會出現一個
          "ClientAbortException",屬于I/O處理中出現的一個異常,應用服務器應該會捕捉。
          Connection reset by peer的原因:
          經常出現的Connection reset by peer: 原因可能是多方面的,不過更常見的原因是:
          ①:服務器的并發連接數超過了其承載量,服務器會將其中一些連接Down掉;
          ②:客戶關掉了瀏覽器,而服務器還在給客戶端發送數據;
          ③:瀏覽器端按了Stop
          很多人都說是客戶端造成的,沒有辦法控制,是個比較郁悶的問題。

          但是,我擔心的是:雖然前臺沒有任何出錯的跡象,但是后臺會記錄這個異常,日志也會瘋狂爆滿,時間長了,肯定會DOWN掉的,還沒找到好的解決辦法,若有相同經歷,且優雅的解決掉的朋友,望告之,謝!

          resin有一個參數ignore-client-disconnect
          tomcat似乎沒有


          原因:
          一般是有些客戶端已關閉,一些線程因為延遲等原因覺察不到此連接已結束,繼續等到到出錯
          或是
          客戶端那里不停刷或一個訪問
          /刷新沒完成前再刷,要讓這個無用的線程死掉

          這個問題一般是客戶端在連接還沒有完全建立的時候就取消連接,比如用戶按了瀏覽器上面的“停止”按鈕,一般來說沒有什么問題。但是如果頻繁出現,就表示很多客戶端連接到Apache服務器的響應時間太長了,可能是網絡的問題或者服務器性能問題。

          connection reset 多半是因為對方在你未讀完數據之前就關閉socket.
          ------------------轉-end-----------------

          4) java.lang.IllegalStateException: getOutputStream() has already been called for this response
          2008-04-03 10:56:10,452 ERROR[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/demo].[action]]http-0.0.0.0-443-12 Servlet.service() for serv
          let action threw exception
          java.lang.IllegalStateException: getOutputStream() has already been called 
          for this response
                  at org.apache.catalina.connector.Response.getWriter(Response.java:
          599)
                  at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:
          195)
                  at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:
          124)
                  at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:
          117)
                  at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:
          182)
                  at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:
          115)
                  at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:
          75)
                  at org.apache.jsp.admin.admin_005fmpob_005fexport_jsp._jspService(admin_005fmpob_005fexport_jsp.java:
          119)
                  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:
          97)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          810)
                  at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
          334)
                  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
          314)
                  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:
          264)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          810)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
          252)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
          173)
                  at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:
          672)
                  at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:
          463)
                  at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:
          398)
                  at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:
          301)
                  at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:
          1069)
                  at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:
          455)
                  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
          279)
                  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
          1482)
                  at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:
          507)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          697)
                  at javax.servlet.http.HttpServlet.service(HttpServlet.java:
          810)

          5) java.lang.OutOfMemoryError: PermGen space
          This error occurs when the JVM runs out of space in the permanent generation heap. Since the defaults for the JVM are quite low, the first step should be to increase the default using -XX:MaxPermSize.

          <!-- verbose garbage collection -->
          <jvm-arg>-XX:MaxPermSize=256m</jvm-arg> <!-- sets the maximum size of the permanent heap (recommended) -->

          In Jboss
          run.conf, add like the followings:
          JAVA_OPTS
          ="$JAVA_OPTS -XX:MaxPermSize=256m"

          posted on 2008-03-31 18:06 crazycy 閱讀(6674) 評論(5)  編輯  收藏 所屬分類: JavaEE技術

          評論

          # re: 苦不堪言,iReport + JasperReports項目中的歷練(二)  回復  更多評論   

          呵呵,用開源的東西就是這樣的!
          2008-04-01 12:17 | klzz

          # re: 苦不堪言,iReport + JasperReports項目中的歷練(二)  回復  更多評論   

          @klzz
          可以參考的東西太少了
          網上的資料大都停留在入門的層面。
          哎,呵呵。
          2008-04-01 15:35 | crazycy

          # re: 苦不堪言,iReport + JasperReports項目中的歷練(二)  回復  更多評論   

          還是有一些資料的,也有幾本書
          2008-04-02 07:29 | 結下梁子

          # re: 苦不堪言,iReport + JasperReports項目中的歷練(二)  回復  更多評論   

          @結下梁子

          呵呵,一般這類不復雜的工具性質的不會買書的。

          另外,iReport,Jasperreport給的例子是很贊的,但是出了問題的時候,總得自己摸索,摸索的過程往往是一個痛苦的過程,大家都可能反復經歷的事情,所以能心得共享出來的,可以為后來者省去不少精力的
          2008-04-02 11:42 | crazycy

          # re: 苦不堪言,iReport + JasperReports項目中的歷練(二)  回復  更多評論   

          關于 3) java.io.EOFException 這個錯誤,樓主太不地道了。
          最后我解決了,原因是服務器操作系統原來是英文編碼的,改成中文的就可以了
          2012-03-15 11:21 | 不留名
          主站蜘蛛池模板: 梁河县| 武威市| 博客| 西平县| 永康市| 土默特右旗| 昌图县| 高安市| 临猗县| 开平市| 久治县| 增城市| 玛沁县| 原平市| 涿州市| 项城市| 德清县| 安义县| 土默特左旗| 化德县| 饶阳县| 区。| 措美县| 南岸区| 德庆县| 瑞安市| 拜泉县| 临洮县| 上蔡县| 辽阳市| 石渠县| 正阳县| 门源| 博兴县| 凤城市| 修武县| 华蓥市| 杭锦旗| 县级市| 莱阳市| 贺州市|