Webwork簡介及Webwork,JFreeChart應用環境的配置 Webwork是一個源代碼開放的Web應用框架,用于簡化基于Web的應用開發。
Webwork的最大優點是它的簡單性和靈活性。Webwork有一個很小的API,它使開發者可以迅速進行開發工作。
Webwork是許多特性和適用性的組合,包括使用variour view技術,例如
javaServer Pages(
jsp),Velocity,Extensible Stylesheet Language Transformations
Specification(XSLT)和J
asperReporters。還有,Webwork對JFreechart有非常好的支持。
從這里下載Webwork-2.0-beta2.z
ip。
(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>