免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3171 | 回复: 3
打印 上一主题 下一主题

asperreports + iReport初学遇到问题,急急急!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-09 10:51 |只看该作者 |倒序浏览
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="jdbcracle:thin10.170.8.239:1521:poldb";
   //orcl为你的数据库的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测试:
http://localhost:8080/rpt/testrpt

出现错误:
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)我晕,这个class文件在有呀,请高手指点.

未命名.JPG (152.04 KB, 下载次数: 38)

未命名.JPG

论坛徽章:
0
2 [报告]
发表于 2008-07-11 23:18 |只看该作者
环境变量CLASSPATH中的最前面有没有加上".;".

论坛徽章:
0
3 [报告]
发表于 2008-07-11 23:25 |只看该作者
好象在
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperRunManager;
这3个后面少加了个".fill"这个东西.

论坛徽章:
0
4 [报告]
发表于 2008-07-14 08:57 |只看该作者
import net.sf.jasperreports.engine.fill.JRVerticalFiller;
import net.sf.jasperreports.engine.fill.*;

加了这个编译Servlet后,还是不行!
页面运行中出现加载类失败.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP