日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java ireport 打印_ireport客户端打印

發布時間:2023/12/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java ireport 打印_ireport客户端打印 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ireport客戶端打印

1.新建一個web項目Outireport。如圖:

2.向lib導入ireport報表需要的包jasperreports-4.0.2.jar, jasperreports-applet-4.0.2.jar, commons-collections-2.1.jar, commons-logging-1.0.2.jar, groovy-all-1.7.5.jar, iText-2.1.7.jar, iTextAsian.jar(這幾個表可能有個別包不是必須)。如圖:

3.在WebRoot中新建一個名為ireport的目錄,里面存放打印的ireport報表,我這里是一個用戶的報表。如圖:

4.在src中新建一個applet的目錄,在applet中新建一個名為IreportServlet.java的servlet。代碼如下:

Java代碼

package applet;

import java.io.File;

import java.io.IOException;

import java.io.ObjectOutputStream;

import java.util.ArrayList;

import java.util.List;

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.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

import net.sf.jasperreports.engine.util.JRLoader;

public class IreportServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

public void destroy() {

super.destroy(); // Just puts "destroy" string in log

}

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

List list=new ArrayList();

try{

Users users=null;

for(int i=0;i<2;i++)

{

users=new Users();

users.setUserName("yzp"+i);

users.setSex(""+i);

users.setPhone("13410479904");

users.setPhone("19890214");

list.add(users);

}

JRBeanCollectionDataSource jds =new JRBeanCollectionDataSource(list); //使用javabean數據源

String url=this.getServletContext().getRealPath("/")+"/ireport/users.jasper";//報表模板的文件路徑

File reportFile = new File(url);

JasperReport report=(JasperReport) JRLoader.loadObject(reportFile.getPath());

JasperPrint jasperPrint=null;

jasperPrint= JasperFillManager.fillReport(report, null, jds);//將所有的數據填充到jasperPrint,形成正常的報表

response.setContentType("application/pdf");

ServletOutputStream ouputStream = response.getOutputStream();

ObjectOutputStream oos = new ObjectOutputStream(ouputStream);

oos.writeObject(jasperPrint);//將JasperPrint對象寫入對象輸出流中

oos.flush();

oos.close();

}catch(Exception e)

{

e.printStackTrace();

}

}

}

package applet;

import java.io.File;

import java.io.IOException;

import java.io.ObjectOutputStream;

import java.util.ArrayList;

import java.util.List;

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.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

import net.sf.jasperreports.engine.util.JRLoader;

public class IreportServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

public void destroy() {

super.destroy(); // Just puts "destroy" string in log

}

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

this.doPost(request, response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

List list=new ArrayList();

try{

Users users=null;

for(int i=0;i<2;i++)

{

users=new Users();

users.setUserName("yzp"+i);

users.setSex(""+i);

users.setPhone("13410479904");

users.setPhone("19890214");

list.add(users);

}

JRBeanCollectionDataSource jds =new JRBeanCollectionDataSource(list); //使用javabean數據源

String url=this.getServletContext().getRealPath("/")+"/ireport/users.jasper";//報表模板的文件路徑

File reportFile = new File(url);

JasperReport report=(JasperReport) JRLoader.loadObject(reportFile.getPath());

JasperPrint jasperPrint=null;

jasperPrint= JasperFillManager.fillReport(report, null, jds);//將所有的數據填充到jasperPrint,形成正常的報表

response.setContentType("application/pdf");

ServletOutputStream ouputStream = response.getOutputStream();

ObjectOutputStream oos = new ObjectOutputStream(ouputStream);

oos.writeObject(jasperPrint);//將JasperPrint對象寫入對象輸出流中

oos.flush();

oos.close();

}catch(Exception e)

{

e.printStackTrace();

}

}

}

總結

以上是生活随笔為你收集整理的java ireport 打印_ireport客户端打印的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。