- 論壇徽章:
- 0
|
TestRpt Servlet 如下:
package net.ensode.jasperbook;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.HashMap;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperRunManager;
import java.sql.*;
public class TestRpt extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
ServletOutputStream servletOutputStream = response.getOutputStream();
InputStream reportStream = getServletConfig().getServletContext()
.getResourceAsStream("TestiReport.jasper" ;
try
{
Connection conn = null;
Class.forName("oracle.jdbc.driver.OracleDriver" .newInstance();
String url="jdbc racle:thin 10.170.8.239:1521:poldb";
//orcl為你的數(shù)據(jù)庫(kù)的SID
String user="poluser";
String password="poluser";
conn = DriverManager.getConnection(url,user,password);
JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream,
new HashMap(), conn );//new JREmptyDataSource()
response.setContentType("application/pdf" ;
servletOutputStream.flush();
servletOutputStream.close();
}
catch (Exception e) //JR
{
// display stack trace in the browser
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
e.printStackTrace(printWriter);
response.setContentType("text/plain" ;
response.getOutputStream().print(stringWriter.toString());
}
}
}
加入Web.xml測(cè)試:
http://localhost:8080/rpt/testrpt
出現(xiàn)錯(cuò)誤:
500 Servlet Exceptionjava.lang.NoClassDefFoundError: Could not initialize class net.sf.jasperreports.engine.fill.JRVerticalFiller at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:57) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:363) at net.sf.jasperreports.engine.JasperRunManager.runReportToPdfStream(JasperRunManager.java:163) at net.ensode.jasperbook.TestRpt.doGet(TestRpt.java:43) at javax.servlet.http.HttpServlet.service(HttpServlet.java:114) at javax.servlet.http.HttpServlet.service(HttpServlet.java:91) at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103) at com.caucho.server.cache.CacheFilterChain.doFilter(CacheFilterChain.java:121) at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:17 at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:241) at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:26 at com.caucho.server.port.TcpConnection.run(TcpConnection.java:586) at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690) at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612) at java.lang.Thread.run(Thread.java:619)我暈,這個(gè)class文件在有呀,請(qǐng)高手指點(diǎn). |
-
未命名.JPG
(152.04 KB, 下載次數(shù): 43)
下載附件
2008-07-09 10:51 上傳
|