JFreeChart在Webwork中的应用
2008-01-05 20:05:30 来源:WEB开发网核心提示:前言:Webwork是当今流行的J2EE几大架构之一,在实际的项目中,JFreeChart在Webwork中的应用,我们往往要在Webwork的输出流中调用一个图表chart,代替直接用response.out输出, JFreeChart在Webwork中的应用的具体例子在进行上面的步骤后,我们将要进
前言:
Webwork是当今流行的J2EE几大架构之一,在实际的项目中,我们往往要在Webwork的输出流中调用一个图表chart,代替直接用response.out输出。那么我们应该怎么样去实现呢?本文将具体阐述JFreeChart在Webwork中的应用。 本文调试环境为windows2000+tomcat5.0。共分三个部分:
1,JFreeChart 简介
2,Webwork简介及Webwork,JFreeChart应用环境的配置
3,JFreeChart在Webwork中的应用的具体例子
JFreeChart 简介:
JFreeChart是开放源代码项目,它主要用来各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
JFreeChart创建WEB图表的基本知识
JFreeChart主要是由三个类构成:
org.jfree.chart.servlet.ChartDeleter
org.jfree.chart.servlet.DisplayChart
org.jfree.chart.servlet.ServletUtilities
在下面做一下简单的介绍:
ChartDeleter 继续自HttpsessionBindingListener,用于实现当Session 关闭时,删除临时目中的图象文件。
ServletUtilities有一系列方法;
saveChartAs*;saveChartAs*是把图表按照不同的形式存储为图象;
sendTempFile方法被重载了很多次,用于把文件流发送response;
DisplayChart继续自Httpservlet 用于处理显示图象;进入讨论组讨论。
Webwork简介及Webwork,JFreeChart应用环境的配置
Webwork是一个源代码开放的Web应用框架,用于简化基于Web的应用开发。
Webwork的最大优点是它的简单性和灵活性。Webwork有一个很小的API,它使开发者可以迅速进行开发工作。
Webwork是许多特性和适用性的组合,包括使用variour view技术,例如javaServer Pages(jsp),Velocity,Extensible Stylesheet Language Transformations
Specification(XSLT)和JasperReporters。还有,Webwork对JFreechart有非常好的支持。
从这里下载Webwork-2.0-beta2.zip。
(https://Webwork.dev.java.net/servlets/PRojectDocumentList)
解压缩文件,你可以在Webwork-2.0\lib\optional目录下找到jfreechart-0.9.13.jar。
你也可以从这里下载最新的jfreechart-0.9.15.zip。
(http://www.jfree.org/jfreechart/index.Html)
本文使用的是jfreechart-0.9.15.zip。
web应用的目录结构图如下所示:
/webapp/WEB-INF
/webapp/WEB-INF/web.xml
/webapp/WEB-INF/Webwork.tld
/webapp/WEB-INF/classes
/webapp/WEB-INF/classes/xwork.xml
/webapp/WEB-INF/lib
接下来请务必将下面这些包放在/webapp/WEB-INF/lib 目录下。
1、commons-logging.jar
2、ognl-2.5.1.jar
3、oscore-2.2.1.jar
4、xwork-1.0-beta.jar
5、Webwork-2.0-beta.jar
下面是可以选择的包,具体根据项目需要来决定是否添加:
cos-multipart.jar
pell-multipart.jar
velocity-dep-1.3.jar
2.1 配置你的xwork.xml
文件像下面例子一样,注重一定要包含Webwork-default.xml。
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<include file="Webwork-default.xml"/>
<package name="default" extends="Webwork-default">
...
</package>
</xwork>
Webwork-default.xml这个文件在Webwork-2.0-beta.jar里面。
2.2 修改web.xml文件
修改web.xml文件以包含Webwork的设置,如何设置的内容,请察看
$Webwork/src/resource/web/WEB-INF/web.xml文件。
2.3 Taglib部分的选择
假如你不打算使用taglib、Velocity、或者XSLT,仅仅只需要在web.xml中不要包含这些内容就可以了。
2.4 Log的设置
Webwork使用log4j,假如你的app server没有安装log4j,你需要增加log4j,复制log4j.jar文件到合适的lib目录。假如你使用tomcat,那么安装目录是$TOMCAT_HOME\lib,当然也可以安装到你的web应用的路径。但需要注重的是假如appserver也适用log4j,你需要小心版本冲突。
2.5 解压缩jfreechart-0.9.15.zip
jfreechart-0.9.15目录下的jfreechart-0.9.15.jar和lib/jcommon-0.9.0.jar,lib/gnujaXP.jar都是开发运行需要的文件,把这三个文件放置到/webapp/WEB-INF/lib目录下。进入讨论组讨论。 JFreeChart在Webwork中的应用的具体例子
在进行上面的步骤后,我们将要进行具体的开发过程。
步骤:首先在xwork.xml -定义result-types
<result-types>
<result-type name="chart" class="pawpaw.test.ChartResult"/>
</result-types>
然后在xwork.xml - 定义action
<action name="viewModerationChart" class="pawpaw.test.ViewModerationChartAction">
<result name="sUCcess" type="chart">
<param name="width">400</param>
<param name="height">300</param>
</result>
</action>
其中param里面定义的是chart图表的长宽。然后在web.xml文件中增加以下内容:
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/servlet/DisplayChart</url-pattern>
</servlet-mapping>
部分源代码如下:
package pawpaw.test;
import com.opensymphony.Webwork.ServletActionContext;
import com.opensymphony.xwork.ActionInvocation;
import com.opensymphony.xwork.Result;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import java.io.OutputStream;import javax.servlet.http.HttpServletResponse;
/*
* <p>
Tags:JFreeChart Webwork 应用
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接