`

一个简单的ireport报表(用spring的servlet)

阅读更多
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
分享到:
评论
1 楼 sjxinrui 2012-03-29  
这位大哥,有木有不用servlet的。。

相关推荐

    java+ireport报表开发实例

    例如,一个简单的Spring MVC控制器示例: ```java @GetMapping("/report") public void generateReport(HttpServletResponse response) { try { // 填充报表并导出 byte[] reportBytes = JasperRunManager....

    完整的web+ireport报表源代码

    总的来说,这个"web+ireport报表源代码"提供了一个完整的解决方案,涵盖了报表设计、数据处理、Web交互等多个方面,对于想学习或提升报表开发技能的人来说,是一个不可多得的学习材料。同时,通过对源代码的研究,...

    ireport报表制作过程

    ### iReport报表制作过程详解 #### 一、引言 在IT领域中,报表制作是一项常见但又极其重要的技能,特别是在数据分析和业务决策支持方面。本文将详细介绍如何使用iReport来制作报表,主要分为三个部分:一是使用...

    iReport报表文档

    在实际开发中,iReport和JasperReport常用于Web应用程序,通过Servlet或Spring MVC等框架集成,实现报表的动态生成和下载。同时,它们也可与其他Java框架,如Hibernate、MyBatis等无缝结合,方便地处理ORM数据源。 ...

    iReport教程

    iReport是JasperReports项目的一部分,主要用于创建复杂的数据报表,它提供了一个直观的图形化用户界面,使得开发者无需编写代码就能设计出各种复杂的报表。本教程涵盖的内容广泛,包括了iReport的基础操作、SSM框架...

    ireport与java 桌面应用,web应用

    ireport是JasperReports库的一个图形化设计工具,允许开发者通过拖拽方式创建复杂的报表布局。 **1. ireport简介** ireport是一款开源的报表设计工具,它允许开发者使用直观的界面来设计报表模板,这些模板可以被...

    ireport例子

    在压缩包"SimpleWeb"中,可能包含了一个简单的Web应用示例,演示了如何在Web环境中集成iReport生成的报表,将报表服务嵌入到网页中。这通常涉及使用Servlet或Spring MVC等技术处理请求,调用JasperReports库生成报表...

    Jasperreports6+spring5

    创建一个实现了org.springframework.web.servlet.ViewResolver接口的类,重写resolveViewName方法,使用JasperExportManager将报表导出为所需格式(如PDF),然后返回一个能够处理二进制流的视图(如ByteArrayView)...

    ireport资料

    描述中提到"包含一部分简单应用,一个小demo",意味着这份资料可能包含了iReport的基本使用方法以及一个实际的演示项目,可以帮助用户快速上手并理解其工作原理。 **标签"ireport api"** 标签"ireport api"指向的...

    基于jasperreport的java报表组件

    一个简单的使用流程包括:(1) 创建iReport模板;(2) 编写Java代码,连接数据源,获取数据;(3) 使用JasperFillManager填充报表;(4) 选择导出格式,如JasperExportManager.exportReportToPdfStream()导出为PDF。 7...

    ireport讲解

    - **图形化设计界面**:iReport提供了一个WYSIWYG(所见即所得)的编辑器,用户可以通过拖放操作添加各种元素,如文本框、图表、图像等。 - **模板设计**:用户可以创建自定义的报表模板,包括列式报表、交叉表、...

    java制作报表

    开发者可以使用JasperReports的报表设计器(iReport或Jaspersoft Studio)创建模板,将数据字段拖放到预定义的单元格中,然后应用样式和格式化规则。 4. **数据源**:报表的数据通常来自数据库、CSV文件或其他数据...

    JAVA 报 表 源 码

    3. **iReport**:iReport是JasperReports的配套设计工具,它使用XML语言JRXML来定义报表模板,提供了一个图形化的界面,让开发者无需编写代码就能设计出复杂的报表布局。 4. **BIRT**:BIRT是Eclipse基金会的一个...

    springmvc+japerreprt+maven

    Spring MVC 是一个基于 Spring 框架的轻量级 Web 开发框架,它为构建 MVC(Model-View-Controller)模式的应用程序提供了强有力的支持。在Web应用开发中,Spring MVC 提供了很好的分层架构,使得业务逻辑、数据处理...

    springmvc 集成jasperReport.docx

    Spring MVC则是一个基于Java的轻量级Web应用框架,用于构建可扩展的企业级应用。 #### 准备工作 在开始整合之前,需要确保具备以下条件: 1. **SSM(Spring + Spring MVC + MyBatis)项目**:搭建好基础的SSM项目...

    java调用jasper

    JasperReports提供了`iReport`工具,这是一个可视化的报表设计工具,允许开发者创建`.jrxml`文件,这是报表的XML定义。设计完成后,可以编译`.jrxml`文件为`.jasper`文件,这个过程在Java代码中通常是通过`...

    JasperReport集成

    - 使用iReport工具绘制报表模板,并将其保存为`.jasper`文件; - 在项目的`/WEB-INF/jasper/`目录下存放该模板文件; - 编写Controller方法来展示报表,并通过页面中的按钮触发此方法; - 使用`iframe`或`window....

    jasperreportireport中文指南

    4. **细节(Detail)**:报表中的每一行数据都属于一个细节段,可以包含多个字段和表达式。 5. **表达式(Expression)**:用于计算或转换字段值,可以是简单的算术运算,也可以是复杂的业务逻辑。 6. **样式...

    iReportTeam.pdf

    10. **集成与部署**:介绍如何将iReport报表集成到Java Web应用中,如Servlet、JSP等。 通过学习《iReportTeam.pdf》,开发者可以提升报表设计技能,更好地满足业务需求,同时,对源码的理解有助于进行定制化开发,...

    JSPERREPORT DEMO

    总结,JSPERREPORT DEMO是一个简单的示例,展示了JasperReports库的使用,包括报表模板的设计、数据源的配置以及报表的生成和导出过程。对于Java开发者来说,掌握JasperReports可以帮助他们构建强大的报表系统,提升...

Global site tag (gtag.js) - Google Analytics