zoukankan      html  css  js  c++  java
  • Domino中利用jfreechart生成统计图

    关于jfreechart具体的使用方法请参考百度或者Google。这里是利用jfreechart在Domino表单中生成统计图的例子。

        关于Domino支持java的方式有java代理和servlet两种,本例采用的是servlet方式,至于能否采用Agent方式,没有研究过。

        要使Domino支持servlet且servlet程序能使用jfreechart,需:

        1.确认Domino服务器已经开启了“java服务器小程序”支持;

        2.必需将jfreechart-1.0.9.jar和jcommon-1.0.12.jar两个包放到服务器的库路径,并修改服务器上notes.ini的相应参数。当然,要使这些配置生效,还需要重启http服务。

        以下是具体实现的步骤。

        1.新建一个查询生成统计图的表单,测试用例,这里构造了一个简单的查询统计条件:

    Domino中利用jfreechart生成统计图 - Kenny - 人 生 海 海

        A.2个计算的值分别引用img_kpi和img_stf两个域的值,用来显示两个统计图;

        B.查询按钮只是个简单的赋值动作(NsfMis400Chart即为访问的servlet名):

    @SetField("img_kpi";"<img src=\"/servlet/NsfMis400Chart?method=ma&tm=" + curmonth + "\" />");
    @SetField("img_stf";"<img src=\"/servlet/NsfMis400Chart?method=mb&tm=" + curmonth + "\" />")

        2.编写生成统计图的servlet(NsfMis400Chart.java),代码太长,大致描述下过程:

        A.在请求的方法中设置响应返回类型response.setContentType("image/png"),这里建议设置为PNG格式,不要设置为JPG格式;

        B.在servlet中访问需要统计Domino数据库,得到统计结果的数据集dataset,关于在servlet中如何访问Domino数据库,可参考其它资料

        C.利用jfreechart的ChartUtilities类的writeBufferedImageAsPNG方法,将数据集生成统计图写入到servlet输出流中,最后记得要关掉这个输出流。

        3.编译NsfMis400Chart.java文件,生成class文件。当然在eclipse等IDE下开发会自动编译源文件,但是有一点需特别注意,不同版本的Domino自带不同的JDK,具体的对应关系是,Domino R6支持JRE1.4,Domino R7支持JRE1.5(JDK5.0),Domino R8支持JRE1.6(JDK6.0),在不同版本的服务器上运行servlet需要用不同版本的编译器编译java源文件。

        4.将编译生成的class文件放到服务器设置的servlet目录,一般为服务器数据目录下的domino\servlet,重启HTTP服务后,此servlet即可通过URL访问。

        最后生成的统计图效果如:

    Domino中利用jfreechart生成统计图 - Kenny - 人 生 海 海

    Domino中利用jfreechart生成统计图 - Kenny - 人 生 海 海

  • 相关阅读:
    解决android模拟器太大,小屏幕无法完全显示的问题
    寡人写的第一个HTML5页面
    android开发环境重装系统之后的配置
    PHP程序的一次重构记录
    重构遗留代码(1):金牌大师
    java加密算法研究
    理解Java常量池
    由一个项目看java TCP/IP Socket编程
    java List分组和排序处理
    JAVA获取方法参数名的分析(一)
  • 原文地址:https://www.cnblogs.com/hannover/p/1839792.html
Copyright © 2011-2022 走看看