1.在web.xml中配置springMVC的servlet
<!-- 报表输出的 servlet,这是spring的servlet-->
<servlet>
<servlet-name>jasperSpring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jasperSpring</servlet-name>
<url-pattern>/jasperSpring/*</url-pattern>
</servlet-mapping>
2.在WEB-INF目录下添加xml文件,文件名为:jasperSpring-servlet.xml (上面配置的servlet名加上“-servlet”);文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 映像处理器,转到相应的处理器 -->
<bean id="publicUrlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<!-- 通过servlet名/key 如: http:/.../jasperSpring/report -->
<prop key="report">jasperController</prop>
</props>
</property>
</bean>
<!-- 处理器 即servlet跳转到的类 -->
<bean id="jasperController"
class="jasperController.JasperSpringController">
</bean>
<!-- 解析器 即处理完成后要跳转的地方,这里在views.properties配置 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="basename" value="views" />
</bean>
</beans>
3.配置views.properties,内容如下:
testReportByPdf.class = org.springframework.web.servlet.view.jasperreports.JasperReportsPdfView
#testReportByPdf.class = org.springframework.web.servlet.view.jasperreports.JasperReportsHtmlView
testReportByPdf.reportDataKey = dataset
testReportByPdf.url = /report/myReport.jasper
4.servlet处理类如下:
public class JasperSpringController implements Controller{
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
String viewName = "testReportByPdf";
Map param = new HashMap();
List<TestModel> dataList = this.getData();
JRDataSource dataset = new JRBeanCollectionDataSource(dataList);
param.put("dataset", dataset);
return new ModelAndView(viewName,param);
}
/**
* 连数据库取数据
* @author yj
* @return
*/
private List<TestModel> getData() {
List<TestModel> dataList = new ArrayList<TestModel>();
Connection conn = null;
Statement sta = null;
ResultSet rs = null;
try{
Context context = new InitialContext();
DataSource ds = (DataSource) context.lookup("java:/comp/env/MyDb");
conn = ds.getConnection();
sta = conn.createStatement();
rs = sta.executeQuery("select * from a");
while(rs.next()){
TestModel tm = new TestModel();
tm.setId(rs.getLong("id"));
tm.setName(rs.getString("name"));
tm.setType(rs.getString("type"));
tm.setTotal(rs.getLong("total"));
dataList.add(tm);
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(conn!=null){
conn.close();
conn = null;
}
if(sta != null){
sta.close();
sta = null;
}
if(rs != null){
rs.close();
rs = null;
}
}catch(SQLException se){
se.printStackTrace();
}
}
return dataList;
}
}
5.使用的jar包如下:
activation.jar
commons-collections-3.1.jar
jasperreports-3.7.0.jar
jasperreports-fonts-3.7.0.jar
jfreechart-1.0.12.jar
log4j-1.2.15.jar
ojdbc14.jar
spring.jar
commons-beanutils-1.8.0.jar
commons-digester-1.8.jar
spring-webmvc.jar
groovy-all-1.5.5.jar
iText-2.1.0.jar
iTextAsian.jar
iTextAsianCmaps.jar
分享到:
相关推荐
例如,一个简单的Spring MVC控制器示例: ```java @GetMapping("/report") public void generateReport(HttpServletResponse response) { try { // 填充报表并导出 byte[] reportBytes = JasperRunManager....
总的来说,这个"web+ireport报表源代码"提供了一个完整的解决方案,涵盖了报表设计、数据处理、Web交互等多个方面,对于想学习或提升报表开发技能的人来说,是一个不可多得的学习材料。同时,通过对源代码的研究,...
### iReport报表制作过程详解 #### 一、引言 在IT领域中,报表制作是一项常见但又极其重要的技能,特别是在数据分析和业务决策支持方面。本文将详细介绍如何使用iReport来制作报表,主要分为三个部分:一是使用...
在实际开发中,iReport和JasperReport常用于Web应用程序,通过Servlet或Spring MVC等框架集成,实现报表的动态生成和下载。同时,它们也可与其他Java框架,如Hibernate、MyBatis等无缝结合,方便地处理ORM数据源。 ...
iReport是JasperReports项目的一部分,主要用于创建复杂的数据报表,它提供了一个直观的图形化用户界面,使得开发者无需编写代码就能设计出各种复杂的报表。本教程涵盖的内容广泛,包括了iReport的基础操作、SSM框架...
ireport是JasperReports库的一个图形化设计工具,允许开发者通过拖拽方式创建复杂的报表布局。 **1. ireport简介** ireport是一款开源的报表设计工具,它允许开发者使用直观的界面来设计报表模板,这些模板可以被...
在压缩包"SimpleWeb"中,可能包含了一个简单的Web应用示例,演示了如何在Web环境中集成iReport生成的报表,将报表服务嵌入到网页中。这通常涉及使用Servlet或Spring MVC等技术处理请求,调用JasperReports库生成报表...
创建一个实现了org.springframework.web.servlet.ViewResolver接口的类,重写resolveViewName方法,使用JasperExportManager将报表导出为所需格式(如PDF),然后返回一个能够处理二进制流的视图(如ByteArrayView)...
描述中提到"包含一部分简单应用,一个小demo",意味着这份资料可能包含了iReport的基本使用方法以及一个实际的演示项目,可以帮助用户快速上手并理解其工作原理。 **标签"ireport api"** 标签"ireport api"指向的...
一个简单的使用流程包括:(1) 创建iReport模板;(2) 编写Java代码,连接数据源,获取数据;(3) 使用JasperFillManager填充报表;(4) 选择导出格式,如JasperExportManager.exportReportToPdfStream()导出为PDF。 7...
- **图形化设计界面**:iReport提供了一个WYSIWYG(所见即所得)的编辑器,用户可以通过拖放操作添加各种元素,如文本框、图表、图像等。 - **模板设计**:用户可以创建自定义的报表模板,包括列式报表、交叉表、...
开发者可以使用JasperReports的报表设计器(iReport或Jaspersoft Studio)创建模板,将数据字段拖放到预定义的单元格中,然后应用样式和格式化规则。 4. **数据源**:报表的数据通常来自数据库、CSV文件或其他数据...
3. **iReport**:iReport是JasperReports的配套设计工具,它使用XML语言JRXML来定义报表模板,提供了一个图形化的界面,让开发者无需编写代码就能设计出复杂的报表布局。 4. **BIRT**:BIRT是Eclipse基金会的一个...
Spring MVC 是一个基于 Spring 框架的轻量级 Web 开发框架,它为构建 MVC(Model-View-Controller)模式的应用程序提供了强有力的支持。在Web应用开发中,Spring MVC 提供了很好的分层架构,使得业务逻辑、数据处理...
Spring MVC则是一个基于Java的轻量级Web应用框架,用于构建可扩展的企业级应用。 #### 准备工作 在开始整合之前,需要确保具备以下条件: 1. **SSM(Spring + Spring MVC + MyBatis)项目**:搭建好基础的SSM项目...
JasperReports提供了`iReport`工具,这是一个可视化的报表设计工具,允许开发者创建`.jrxml`文件,这是报表的XML定义。设计完成后,可以编译`.jrxml`文件为`.jasper`文件,这个过程在Java代码中通常是通过`...
- 使用iReport工具绘制报表模板,并将其保存为`.jasper`文件; - 在项目的`/WEB-INF/jasper/`目录下存放该模板文件; - 编写Controller方法来展示报表,并通过页面中的按钮触发此方法; - 使用`iframe`或`window....
4. **细节(Detail)**:报表中的每一行数据都属于一个细节段,可以包含多个字段和表达式。 5. **表达式(Expression)**:用于计算或转换字段值,可以是简单的算术运算,也可以是复杂的业务逻辑。 6. **样式...
10. **集成与部署**:介绍如何将iReport报表集成到Java Web应用中,如Servlet、JSP等。 通过学习《iReportTeam.pdf》,开发者可以提升报表设计技能,更好地满足业务需求,同时,对源码的理解有助于进行定制化开发,...
总结,JSPERREPORT DEMO是一个简单的示例,展示了JasperReports库的使用,包括报表模板的设计、数据源的配置以及报表的生成和导出过程。对于Java开发者来说,掌握JasperReports可以帮助他们构建强大的报表系统,提升...