Topic: 大家帮忙看看ITEXT 通过JSP导出PDF这个代码错在哪里?谢了!

  Print this page

1.大家帮忙看看ITEXT 通过JSP导出PDF这个代码错在哪里?谢了! Copy to clipboard
Posted by: jeetliang
Posted on: 2005-03-18 13:09

JSP页面代码如下:在环境变里classpath中已加了,itext-1.2.3.jar和iTextAsian.jar两个文件

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.io.*,java.awt.Color,com.lowagie.text.*,com.lowagie.text.pdf.*"%>
<%@
page import="java.io.*,java.awt.Color,com.lowagie.text.*,com.lowagie.text.pdf.*"%>
<html>

<head>
<title>管理系统</title>
<meta http-equiv="Refresh" content="120">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head>

<body bgcolor="#00CCFF">

<%
response.setContentType( "application/pdf" );
Document document = new Document();
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
PdfWriter writer=PdfWriter.getInstance( document, buffer );
document.open();
document.add(new Paragraph("Hello World"));
document.close();
DataOutput output = new DataOutputStream( response.getOutputStream() );
byte[] bytes = buffer.toByteArray();
response.setContentLength(bytes.length);
for( int i = 0; i < bytes.length; i++ ) { output.writeByte( bytes[i] ); }
%>
</body>
</html>

错误如下:

HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.IllegalStateException: getOutputStream() has already been called for this response
  org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:611)
  org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.java:190)
  org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:167)
  org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:160)
  org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:235)
  org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:160)
  org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:120)
  org.apache.jsp.top_jsp._jspService(top_jsp.java:71)
  org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

note The full stack trace of the root cause is available in the Tomcat logs.

--------------------------------------------------------------------------------

Apache Tomcat/5.0.16

2.Re:大家帮忙看看ITEXT 通过JSP导出PDF这个代码错在哪里?谢了! [Re: jeetliang] Copy to clipboard
Posted by: jeetliang
Posted on: 2005-03-18 15:04


3.Re:大家帮忙看看ITEXT 通过JSP导出PDF这个代码错在哪里?谢了! [Re: jeetliang] Copy to clipboard
Posted by: jeetliang
Posted on: 2005-03-19 14:44


4.Re:大家帮忙看看ITEXT 通过JSP导出PDF这个代码错在哪里?谢了! [Re: jeetliang] Copy to clipboard
Posted by: godo
Posted on: 2005-03-23 11:38

在output.writeByte( bytes[i] );
后加output.flush();看看!


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923