- 浏览: 1361661 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
报表代码实例大全:
本实例采用Cewolf+JFreeChart做成。Cewolf是基于JFreechart的,利用JFreechart的绘制引擎,将最终的图片写入客户端.在服务器端不会创建任何文件。
其中这些实例中的web.xml的配置都是一样的,所以配置一次后就不再动它了
后面的每一个实例我都会给出java类和jsp页面的代码,并附上对应的显示出来的图形(这些实例中有些来自网上,我也都一并做过并成功实现)
#########################*************************######################
web.xml
时间序列图
JSP页面
折线图
JSP页面
垂直柱条图
JSP页面
饼图
JSP页面
柱状图
JSP页面
本实例采用Cewolf+JFreeChart做成。Cewolf是基于JFreechart的,利用JFreechart的绘制引擎,将最终的图片写入客户端.在服务器端不会创建任何文件。
其中这些实例中的web.xml的配置都是一样的,所以配置一次后就不再动它了
后面的每一个实例我都会给出java类和jsp页面的代码,并附上对应的显示出来的图形(这些实例中有些来自网上,我也都一并做过并成功实现)
#########################*************************######################
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>CewolfServlet</servlet-name> <servlet-class>de.laures.cewolf.CewolfRenderer</servlet-class> <!-- sets storage implementation --> <init-param> <param-name>storage</param-name> <param-value> de.laures.cewolf.storage.TransientSessionStorage </param-value> </init-param> <!-- sets overlib.js location relative to webapp --> <init-param> <param-name>overliburl</param-name> <param-value>/etc/overlib.js</param-value> </init-param> <!-- turn on or off debugging logging --> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <load-on-startup>4</load-on-startup> </servlet> <servlet-mapping> <servlet-name>CewolfServlet</servlet-name> <url-pattern>/adChart/*</url-pattern> </servlet-mapping> </web-app>
时间序列图
package cewolf; import java.io.Serializable; import java.text.DateFormat; import java.text.ParseException; import java.util.Date; import java.util.Map; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import de.laures.cewolf.DatasetProducer; public class AdDateLineDataset implements DatasetProducer, Serializable { private Number[] data; private Date[] dateCategories; public AdDateLineDataset() { super(); data = new Number[] { 11, 33, 27 }; DateFormat df = DateFormat.getDateTimeInstance(); try { dateCategories = new Date[] { df.parse("2008-03-5 08:00:00"), df.parse("2008-03-5 10:00:00"), df.parse("2008-03-5 15:00:00") }; } catch (ParseException e) { e.printStackTrace(); } } public AdDateLineDataset(Date[] d, Number[] a) { } public Object produceDataset(Map params) { TimeSeries ts1 = new TimeSeries("My Title", org.jfree.data.time.Hour.class); for (int i = 0; i < data.length; i++) { ts1.add(new org.jfree.data.time.Hour(dateCategories[i]), data[i]); } TimeSeriesCollection collect = new TimeSeriesCollection(ts1); return collect; } public String getProducerId() { return "TimeDataProducer"; } public boolean hasExpired(Map params, Date since) { return true; } }
JSP页面
<%@ page language="java" pageEncoding="UTF-8"%> <%@page import="java.util.Date"%> <%@taglib uri='/WEB-INF/tlds/cewolf.tld' prefix='cewolf'%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>test</title> </head> <body> <jsp:useBean id="data1" class="cewolf.AdDateLineDataset" /> <cewolf:chart id="pageChart2" title="时间序列图" type="timeseries" xaxislabel="时间" yaxislabel="数量"> <cewolf:data> <cewolf:producer id="data1" /> </cewolf:data> </cewolf:chart> <cewolf:img chartid="pageChart2" renderer="/adChart" width="500" height="500" /> </body> </html>
折线图
package cewolf; import java.io.Serializable; import java.util.Date; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; import de.laures.cewolf.DatasetProduceException; import de.laures.cewolf.DatasetProducer; import de.laures.cewolf.links.CategoryItemLinkGenerator; import de.laures.cewolf.tooltips.CategoryToolTipGenerator; /** * An example data producer. * * @author Guido Laures */ public class PageViewCountData implements DatasetProducer, CategoryToolTipGenerator, CategoryItemLinkGenerator, Serializable { private static final Log log = LogFactory.getLog(PageViewCountData.class); // These values would normally not be hard coded but produced by // some kind of data source like a database or a file private final String[] categories = { "mon", "tue", "wen", "thu", "fri", "sat", "sun" }; private final String[] seriesNames = { "cewolfset.jsp", "tutorial.jsp", "testpage.jsp", "performancetest.jsp" }; /** * Produces some random data. */ public Object produceDataset(Map params) throws DatasetProduceException { log.debug("producing data."); DefaultCategoryDataset dataset = new DefaultCategoryDataset() { /** * @see java.lang.Object#finalize() 当垃圾回收器确定不存在对该对象的更多引用时, * 由对象的垃圾回收器调用此方法 */ protected void finalize() throws Throwable { super.finalize(); log.debug(this + " finalized."); } }; for (int series = 0; series < seriesNames.length; series++) { int lastY = (int) (Math.random() * 1000 + 1000); for (int i = 0; i < categories.length; i++) { final int y = lastY + (int) (Math.random() * 200 - 100); lastY = y; dataset.addValue(y, seriesNames[series], categories[i]); } } return dataset; } /** * This producer's data is invalidated after 5 seconds. By this method the * producer can influence Cewolf's caching behaviour the way it wants to. */ public boolean hasExpired(Map params, Date since) { log.debug(getClass().getName() + "hasExpired()"); return (System.currentTimeMillis() - since.getTime()) > 5000; } /** * Returns a unique ID for this DatasetProducer */ public String getProducerId() { return "PageViewCountData DatasetProducer"; } /** * Returns a link target for a special data item. */ public String generateLink(Object data, int series, Object category) { return seriesNames[series]; } /** * @see java.lang.Object#finalize() */ protected void finalize() throws Throwable { super.finalize(); log.debug(this + " finalized."); } /** * @see org.jfree.chart.tooltips.CategoryToolTipGenerator#generateToolTip(CategoryDataset, * int, int) */ public String generateToolTip(CategoryDataset arg0, int series, int arg2) { return seriesNames[series]; } }
JSP页面
<%@page contentType="text/html;charset=utf8"%> <%@taglib uri='/WEB-INF/tlds/cewolf.tld' prefix='cewolf'%> <HTML> <BODY> <H1> Page View Statistics </H1> <HR> <jsp:useBean id="pageViews" class="cewolf.PageViewCountData" /> <cewolf:chart id="line" title="折线图" type="line" xaxislabel="Page" yaxislabel="Views"> <cewolf:data> <cewolf:producer id="pageViews" /> </cewolf:data> </cewolf:chart> <p> <cewolf:img chartid="line" renderer="/adChart" width="500" height="400" /> <P> </BODY> </HTML>
垂直柱条图
package cewolf; import java.util.Date; import java.util.Map; import org.jfree.data.category.DefaultCategoryDataset; import de.laures.cewolf.DatasetProduceException; import de.laures.cewolf.DatasetProducer; public class VerticalBarData implements DatasetProducer { String chartTitle = "垂直直方图"; String name[] = { "张三", "李四", "王五", "刘六", "赵七" }; String category[] = { "第1周", "第2周", "第3周", "第4周" }; @Override public String getProducerId() { return null; } @Override public boolean hasExpired(Map arg0, Date arg1) { return true; } @Override public Object produceDataset(Map arg0) throws DatasetProduceException { DefaultCategoryDataset dataset = new DefaultCategoryDataset(); // 往数据集中添加绘制图表所需的数据 int bookSales; for (int i = 0; i < name.length; i++) { for (int j = 0; j < category.length; j++) { // 随机生成销售量 bookSales = 50 + (int) (Math.random() * 50); dataset.addValue(bookSales, name[i], category[j]); } } return dataset; } }
JSP页面
<%@ page language="java" pageEncoding="UTF-8"%> <%@page import="java.util.Date"%> <%@taglib uri='/WEB-INF/tlds/cewolf.tld' prefix='cewolf'%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>test</title> </head> <body> <jsp:useBean id="data1" class="cewolf.VerticalBarData" /> <cewolf:chart id="verticalBar" title="金牌公司推销人员业绩" type="verticalBar" xaxislabel="销售时间:2005年4月" yaxislabel="销售量"> <cewolf:data> <cewolf:producer id="data1" /> </cewolf:data> </cewolf:chart> <cewolf:img chartid="verticalBar" renderer="/adChart" width="500" height="375" /> </body> </html>
饼图
package cewolf; import java.util.Date; import java.util.Map; import org.jfree.data.general.DefaultPieDataset; import de.laures.cewolf.DatasetProduceException; import de.laures.cewolf.DatasetProducer; public class PieData implements DatasetProducer { @Override public String getProducerId() { return null; } @Override public boolean hasExpired(Map arg0, Date arg1) { return true; } @Override public Object produceDataset(Map arg0) throws DatasetProduceException { DefaultPieDataset defaultpiedataset = new DefaultPieDataset(); defaultpiedataset.setValue("One", new Double(43.200000000000003D)); defaultpiedataset.setValue("Two", new Double(10D)); defaultpiedataset.setValue("Three", new Double(27.5D)); defaultpiedataset.setValue("Four", new Double(17.5D)); return defaultpiedataset; } }
JSP页面
<%@ page language="java" pageEncoding="UTF-8" %> <%@page import="java.util.Date"%> <%@taglib uri='/WEB-INF/tlds/cewolf.tld' prefix='cewolf' %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>test</title> </head> <body> <jsp:useBean id="data1" class="cewolf.PieData"/> <cewolf:chart id="pieChart" title="饼图" type="pie" > <cewolf:data> <cewolf:producer id="data1" /> </cewolf:data> </cewolf:chart> <cewolf:img chartid="pieChart" renderer="/adChart" width="500" height="375"/> </body> </html>
柱状图
package cewolf; import java.io.Serializable; import java.util.Date; import java.util.Map; import org.jfree.data.category.DefaultIntervalCategoryDataset; import de.laures.cewolf.DatasetProduceException; import de.laures.cewolf.DatasetProducer; public class Tu implements DatasetProducer, Serializable{ String categories[] = {"mon","tues","sun","xxx"}; String seriesNames [] = {"show","click","ctr"}; public String getProducerId() { return "CategoryDataProducer"; } public boolean hasExpired(Map arg0, Date arg1) { return true; } public Object produceDataset(Map arg0) throws DatasetProduceException { //以下是测试数据 Number[][] datasets = new Number[4][3]; datasets[0][0] = new Integer(201); datasets[0][1] = new Integer(2); datasets[0][2] = new Integer(3); datasets[1][0] = new Integer(11); datasets[1][1] = new Integer(22); datasets[1][2] = new Integer(33); datasets[2][0] = new Integer(44); datasets[2][1] = new Integer(55); datasets[2][2] = new Integer(66); datasets[3][0] = new Integer(77); datasets[3][1] = new Integer(88); datasets[3][2] = new Integer(99); //参数1:横轴 参数2:纵轴 DefaultIntervalCategoryDataset ds = new DefaultIntervalCategoryDataset( categories,seriesNames, datasets,datasets); return ds; } }
JSP页面
<%@ page language="java" pageEncoding="UTF-8"%> <%@taglib uri='/WEB-INF/tlds/cewolf.tld' prefix='cewolf'%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>test</title> </head> <body> <% cewolf.Tu tu = new cewolf.Tu(); pageContext.setAttribute("data1", tu); { // <cewolf:cha %> <cewolf:chart id="pageChart2" title="日期柱状图" type="stackedHorizontalBar" xaxislabel="时间" yaxislabel="数量"> <cewolf:data> <cewolf:producer id="data1" /> </cewolf:data> </cewolf:chart> <cewolf:img chartid="pageChart2" renderer="/adChart" width="500" height="500" /> </body> </html>
评论
3 楼
javaxiongxing
2011-11-23
急求回复,alanxiong@foxmail.com
2 楼
javaxiongxing
2011-11-23
大哥,你的中文乱码是怎么解决的呢...
1 楼
javaxiongxing
2011-11-23
需要导入哪些jar包呢
发表评论
-
使用JFreeChart生成带交互功能的统计图例
2008-07-03 22:05 3135a.jsp 代码: <%@ page language= ... -
使用JFreeChart生成时间顺序图实例(生成图片)
2008-07-03 22:03 2142package com.lhhc.jfreechart.tes ... -
使用JFreeChart生成复杂柱状图实例(生成图片)
2008-07-03 22:02 2513package com.lhhc.jfreechart.tes ... -
使用JFreeChart生成柱状图实例(生成图片)
2008-07-03 22:01 2974package com.lhhc.jfreechart.tes ... -
使用JFreeChart生成饼图实例(生成图片)
2008-07-03 22:00 2903package com.lhhc.jfreechart.tes ... -
Struts2+JFreeChart
2008-07-03 21:59 4401下面以边帖图片和代码的方式来讲解Struts2与JFreeCh ... -
JfreeChart学习总结(2)
2008-07-03 21:42 33743)jsp+servlet+javabean方式 1. Cre ... -
JfreeChart学习总结(1)
2008-07-03 21:38 3479自己最近学习了JfreeChart的使用,觉得这个冬冬的功能非 ...
相关推荐
**JFreeChart与Cewolf:构建可视化报表的关键组件** 在Java开发中,生成美观且具有交互性的图表对于数据可视化和报表制作至关重要。JFreeChart和Cewolf是两个强大的开源库,它们共同为开发者提供了丰富的图形生成和...
本实例将深入探讨Cewolf在Web报表开发中的应用,帮助开发者了解如何利用Cewolf创建动态、可视化的数据展示。 1. **Cewolf概述** - **功能特性**:Cewolf支持静态和动态图表,能够处理XML、JSON等多种数据格式,且...
本篇文章将深入探讨三个流行的Java库——JFreeChart、Cewolf和iText,它们分别用于创建静态图表、交互式Web报表以及PDF文档生成。 **JFreeChart** 1. **JFreeChart介绍**:JFreeChart是一个开源的Java库,专门用于...
通过学习这个Cewolf开发实例,你可以掌握如何在J2EE应用中集成和利用Cewolf技术来创建强大的Web报表系统。这不仅提高了应用的功能性,也提升了用户体验,因为用户可以直接在浏览器中查看和交互数据,而无需下载和...
**CEWolf:JFreeChart的高效封装库** CEWolf是一个基于Java的图形库,它封装了JFreeChart库,提供了一种更简单、更高效的方式来创建和展示图表。JFreeChart是一个广泛使用的开源项目,用于生成高质量的2D图表,如...
Java Web开发实例大全(提高卷)筛选、汇集了Java Web开发从基础知识到高级应用各个层面的大量实例及源代码,共有600个左右,每个实例及源代码按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析...
Cewolf,能用于开发web工程的Servlet或JSP等,用于制作比较复杂的统计图表.它能够在写比较少的java代码的情况下,显示JSP页面,通过设置图的特征,象颜色,线条,图形,大小,比例等等.
Java Web开发实例大全(提高卷)筛选、汇集了Java Web开发从基础知识到高级应用各个层面的大量实例及源代码,共有600个左右,每个实例及源代码按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析...
**cewolf-1.2.1.zip** 是一个包含 Cewolf 1.2.1 版本资源的压缩文件,这个工具对于IT行业的开发者来说,尤其在进行特定的开发任务时,能提供极大的便利性。Cewolf,这个名字可能是“CE”(计算机工程)与“Wolf”...
**cewolf-1.1.4** 是一个用于图形展示的开源库,主要与Java的JFreeChart库配合使用,提供更加便捷和丰富的图形渲染功能。这个版本是cewolf库的1.1.4更新,可能包含了一些性能优化、新特性和bug修复,以提升用户体验...
它支持多种图形展示方式,包括饼图、折线图、柱状图(水平与垂直)、甘特图、XY散点图、时间序列图、高低开收盘图、蜡烛图、组合图、帕累托图、气泡图、风向图、仪表盘图等。JFreeChart官方网站提供了丰富的示例,...
总的来说,理解并正确使用cewolf所需的jar文件,是成功开发cewolf项目的关键步骤之一。开发者需要熟悉这些库的功能,以及如何在代码中调用它们提供的API,从而充分发挥cewolf在Web GUI开发中的作用。同时,持续关注...
Cewolf可以在一个基于Servlet/JSP的Web应用程序内部使用,基于JFreechart的,利用JFreechart的绘制引擎的开源项目。以在Web页中嵌入各种复杂的图形图表(如,直方图、饼图、棒图等等)。它提供了一个功能完备的标签库来...
"cewolf应用"是一个关于开源工具的讨论,主要聚焦在名为"TCEWolf"的软件上。这个工具可能是一个集成开发环境(IDE)或者一个特定领域的应用程序,鉴于标签中提到的"源码"和"工具",我们可以推断它与编程和代码编辑...
这里主要详细讲述了cewolf的用法发发发发发发发发发发发发发法案
cewolf-1.0-bundle-2 第三方生成图形 好东东
2. **JFreeChart**:JFreeChart是一个强大的Java库,专门用于创建各种类型的图表,如饼图、柱状图、线图、区域图等。它非常适合需要在应用程序中集成数据可视化的开发者。 3. **JasperReports**:JasperReports是一...
本篇文章将详细探讨标题"贯通开源WEB图形与报表技术全集—part1"所涵盖的知识点,主要涉及JFreeChart、Cewolf、jCharts、iReport、JasperReports和OpenReports这六个流行的开源工具。 首先,JFreeChart是一款强大的...