亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JFreeChart 在 webwork 中的應用

2019-11-18 12:53:11
字體:
來源:轉載
供稿:網友

  前言:
  webwork是當今流行的J2EE幾大架構之一,在實際的項目中,我們往往要在webwork的輸出流中調用一個圖表chart,代替直接用response.out輸出。那么我們應該怎么樣去實現呢?本文將具體闡述JFreeChart在webwork中的應用。本文調試環境為windows2000+tomcat5.0。共分三個部分:
  1,JFreeChart 簡介
  2,webwork簡介及webwork,JFreeChart應用環境的配置
  3,JFreeChart在webwork中的應用的具體例子
  
  <B>一: JFreeChart 簡介:</B>
  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 用于處理顯示圖象;
  
  <B>二:webwork簡介及webwork,JFreeChart應用環境的配置</B>
  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目錄下。
  
  <B>三 JFreeChart在webwork中的應用的具體例子</B>
  在進行上面的步驟后,我們將要進行具體的開發過程。
  步驟:首先在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>Description: 把chart文件流換成是通過HttpServletResponse
   *  對象獲取到的輸出流在瀏覽器中輸出</p>
   * author: pawpaw
   * @version 1.0 12/15/2003
   */
  public class ChartResult implements Result {
    JFreeChart chart;
    boolean chartSet = false;
    private int height;
    private int width;
  
    public void setChart(JFreeChart chart) {
      this.chart = chart;
      chartSet = true;
    }
    //設置圖片的長度
    public void setHeight(int height) {
      this.height = height;
    }
    //設置圖片的寬度
    public void setWidth(int width) {
      this.width = width;
    }
  
    public void execute(ActionInvocation invocation) throws Exception {
      JFreeChart chart = null;
  
      if (chartSet) {
        chart = this.chart;
      } else {
        chart = (JFreeChart) invocation.getStack().findValue("chart");
      }
  
      if (chart == null) {
        throw new NullPointerException("No chart found");
      }
      
      //把文件流換成是通過HttpServletResponse對象獲取到的輸出流
      HttpServletResponse response = ServletActionContext.getResponse();
      OutputStream os = response.getOutputStream();
      ChartUtilities.writeChartAsPNG(os, chart, width, height);
      os.flush();
    }
  }
  創建JFreeChart的action類。
  package pawpaw.test;
  
  import java.awt.Insets;
  import java.awt.Font;
  import java.io.PrintWriter;
  import javax.servlet.http.HttpSession;
  import org.jfree.data.*;
  import org.jfree.chart.*;
  import org.jfree.chart.plot.*;
  import org.jfree.chart.entity.*;
  import org.jfree.chart.urls.*;
  import org.jfree.chart.servlet.*;
  import org.jfree.chart.labels.StandardPieToolTipGenerator;
  import org.jfree.util.Rotation;
  import com.opensymphony.xwork.ActionSupport;
  /*
   *<p>Description: 輸出一條斜線chart</p>
   * author: pawpaw
   * @version 1.0 12/15/2003
   */
  public class ViewModerationChartAction extends ActionSupport { 
    private JFreeChart chart;
    public String execute() throws Exception {
     // 創建chart文件數據集
     XYSeries dataSeries = new XYSeries(null);
     for

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久香蕉国产线看观看亚洲| 日韩在线观看免费高清完整版| 日韩成人av一区| 欧美日韩国内自拍| 亚洲第一精品夜夜躁人人躁| 一区二区三区亚洲| 欧美激情在线视频二区| 国外成人性视频| 国产精品va在线播放| 欧美日韩国产精品专区| 91成人精品网站| 日韩在线免费av| 日韩成人av在线| 欧美性极品xxxx娇小| 国产剧情日韩欧美| 91在线直播亚洲| 欧美极品少妇xxxxⅹ免费视频| 国产精品欧美一区二区| 在线午夜精品自拍| 欧美精品激情视频| 奇米成人av国产一区二区三区| 欧美裸体视频网站| 欧美日韩另类在线| 亚洲欧美国产视频| 日韩av影视综合网| 亚洲国产另类久久精品| 国产精品久久久久久久天堂| 国产精品福利在线观看| 欧美日韩国产成人在线| 国产精品久久久久久久久借妻| 久久久久久久久亚洲| 日韩精品中文字幕有码专区| 亚洲国产日韩欧美在线动漫| 国产精品久久久久久久久久尿| 国产成人免费av电影| 色综合色综合久久综合频道88| 国产精品第3页| 欧美电影免费观看高清| 韩国精品美女www爽爽爽视频| 亚洲护士老师的毛茸茸最新章节| 欧美亚洲国产日韩2020| 一区二区三区四区视频| 亚洲视频在线看| 少妇精69xxtheporn| 51色欧美片视频在线观看| 国产三级精品网站| 在线色欧美三级视频| 在线播放日韩欧美| 国产精品视频色| 国产亚洲精品久久久久动| 国产精品网站视频| 91精品久久久久久久久中文字幕| 国产va免费精品高清在线观看| 国产精品高潮呻吟视频| 亚洲嫩模很污视频| 国产成人精品久久二区二区91| 久久成人精品一区二区三区| 成人免费看片视频| 亚洲va欧美va在线观看| 成人h视频在线观看播放| www.午夜精品| 91中文在线观看| 欧美色道久久88综合亚洲精品| 中文字幕国产亚洲| 久久久精品欧美| 日韩av中文在线| 久久精品亚洲94久久精品| 欧美巨乳在线观看| 亚洲曰本av电影| 色先锋资源久久综合5566| 亚洲人成网在线播放| 欧美精品一区二区三区国产精品| 日本aⅴ大伊香蕉精品视频| 日韩av色在线| 91禁国产网站| 日韩成人激情在线| 亚洲欧美精品中文字幕在线| 在线看日韩欧美| 亚洲天堂网在线观看| 成人有码在线播放| yellow中文字幕久久| 欧美日韩国产精品一区| 在线观看成人黄色| 91在线中文字幕| 亚洲www在线| 精品久久久精品| 亚洲午夜久久久久久久| 亚洲人成亚洲人成在线观看| 国产精品老牛影院在线观看| 超薄丝袜一区二区| 日韩精品免费电影| 午夜精品美女自拍福到在线| 国产成人精品免费视频| 久久全国免费视频| 国产精品入口日韩视频大尺度| 国产视频久久网| 国产精品爱啪在线线免费观看| 一本一本久久a久久精品综合小说| 国产97在线|亚洲| 亚洲aⅴ日韩av电影在线观看| 欧美肥老妇视频| 国产精品香蕉在线观看| 俺去了亚洲欧美日韩| 亚洲色图第一页| 国产美女久久精品| 亚洲美女动态图120秒| 中文字幕日韩欧美精品在线观看| 国产一区二区三区四区福利| 一本大道久久加勒比香蕉| 亚洲天堂成人在线| 国产一区二区三区免费视频| 日韩专区在线播放| 中文字幕欧美精品在线| 精品中文字幕在线| 日本欧美一二三区| 欧美精品videos另类日本| 成年无码av片在线| 欧美成人合集magnet| 亚洲精品国产品国语在线| 亚洲人成在线免费观看| 国产精品精品视频| 欧美日韩国产精品专区| 亚洲成人精品久久久| 日本久久久久亚洲中字幕| 北条麻妃在线一区二区| 中文字幕v亚洲ⅴv天堂| 色婷婷**av毛片一区| 91精品国产色综合| 国产成人精品电影久久久| 久久久女女女女999久久| 欧美在线视频在线播放完整版免费观看| 91av视频在线播放| 日本精品久久中文字幕佐佐木| 中文字幕在线成人| 久久久亚洲欧洲日产国码aⅴ| 欧美日韩在线影院| 欧美激情第99页| 国产精品久久999| 日韩中文字幕国产| 久久69精品久久久久久久电影好| 精品国产欧美一区二区五十路| 欧美区在线播放| 日本高清不卡的在线| 综合网日日天干夜夜久久| 成人女保姆的销魂服务| 成人性生交大片免费观看嘿嘿视频| 日韩欧美999| 国语自产精品视频在线看| 中文欧美在线视频| 中文字幕日韩欧美| 欧美精品一本久久男人的天堂| 亚洲在线一区二区| 国产在线观看精品一区二区三区| 久久人人爽人人爽人人片av高请| 久久久久国产一区二区三区| 亚洲老头老太hd| 国产男人精品视频| 亚洲第一福利网站| www高清在线视频日韩欧美| 高清亚洲成在人网站天堂| 亚洲精品免费网站| 高潮白浆女日韩av免费看| 日本中文字幕成人| 日韩a**站在线观看|