`
hdxiong
  • 浏览: 376990 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

统计图表ChartDirector在Servlet和Struts2中的应用

    博客分类:
  • Java
阅读更多
1、公共配置
a.把ChartDirector.jar放到\webapp\WEB-INF\lib下面,并加入以下包:
	<dependency>
    	<groupId>javax.servlet</groupId>
    	<artifactId>servlet-api</artifactId>
    	<version>2.5</version>
    	<type>jar</type>
    	<scope>provided</scope>
    </dependency>
	

b.在web.xml加入以下代码:
	<servlet>
		<servlet-name>GetSessionImage</servlet-name>
		<servlet-class>ChartDirector.GetSessionImage</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>GetSessionImage</servlet-name>
		<url-pattern>*.chart</url-pattern>
	</servlet-mapping>
	

c.把chartdir.lic文件在\src\main\java下面,其内容如下:
	SXZVFNRN9MZ9L8LGA0E2B1BB
	


2、编写Servlet代码
a.web.xml加入以下代码:
	<servlet>
		<servlet-name>BarChartServlet</servlet-name>
		<servlet-class>sample.servlet.BarChartServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>BarChartServlet</servlet-name>
		<url-pattern>/barchart</url-pattern>
	</servlet-mapping>
	

b.Servlet代码如下:
	public class BarChartServlet extends HttpServlet {
	
		public void doGet(HttpServletRequest request, HttpServletResponse response)
				throws ServletException, IOException {
			// The data for the bar chart
			double[] data = { 85, 156, 179.5, 211, 123 };

			// The labels for the bar chart
			String[] labels = { "Mon", "Tue", "Wed", "Thu", "Fri" };

			// Create a XYChart object of size 250 x 250 pixels
			XYChart c = new XYChart(250, 250);

			// Set the plotarea at (30, 30) and of size 200 x 190 pixels
			c.setPlotArea(30, 30, 200, 190);

			// Add a bar chart layer using the given data
			c.addBarLayer(data);

			// Set the x axis labels using the given labels
			c.xAxis().setLabels(labels);

			request.getSession().setAttribute("chart1", c.makeChart2(Chart.PNG));
			String chart1URL = "img=chart1&id=" + System.currentTimeMillis();

			// include tool tip for the chart
			String imageMap1 = c.getHTMLImageMap("#", "",
					"title='{xLabel}: US${value}K'");

			response.setContentType("text/html");
			ServletOutputStream out = response.getOutputStream();
			out.println("<html>");
			out.println("<body>");
			out.print("<img src=\"getchart.chart?");
			out.print(chart1URL);
			out.println("\" usemap=\"#map1\" border=\"0\">");
			out.println("<map name=\"map1\">");
			out.println(imageMap1);
			out.println("</map>");
			out.println("</body>");
			out.println("</html>");
		}
	}
	


3、编写Action代码
a.Action代码如下:
	public class ChartAction extends BaseAction {

		Logger logger = Logger.getLogger(ChartAction.class);

		@Action(value = "/barchart", results = { 
			@Result(name = "success", location = "/index.jsp") 
		})
		public String barchart() {
			// The data for the bar chart
			double[] data = { 85, 156, 179.5, 211, 123 };

			// The labels for the bar chart
			String[] labels = { "Mon", "Tue", "Wed", "Thu", "Fri" };

			// Create a XYChart object of size 250 x 250 pixels
			XYChart c = new XYChart(250, 250);

			// Set the plotarea at (30, 30) and of size 200 x 190 pixels
			c.setPlotArea(30, 30, 200, 190);

			// Add a bar chart layer using the given data
			c.addBarLayer(data);

			// Set the x axis labels using the given labels
			c.xAxis().setLabels(labels);

			getRequest().getSession().setAttribute("chart1",
					c.makeChart2(Chart.PNG));
			String chart1URL = "img=chart1&id=" + System.currentTimeMillis();

			// include tool tip for the chart
			String imageMap1 = c.getHTMLImageMap("#", "",
					"title='{xLabel}: US${value}K'");
			getRequest().setAttribute("chart1URL", chart1URL);
			getRequest().setAttribute("imageMap1", imageMap1);
			
			return SUCCESS;
		}
	}
	

b.index.jsp页面代码如下:
	<div>
		<img border="0" usemap="#map1" src="getchart.chart?${chart1URL}">
		<map name="map1">
			${imageMap1}
		</map>
	</div>
	


4、配置说明
关于图片的显示方法可以根据自己的需求。我在Servlet和Action中采用了两种方法。另外提醒一下,如果改用jsp时,记得把getchat.jsp放到webapp下面。

5、显示结果如下:
  • 大小: 1.4 KB
分享到:
评论

相关推荐

    chartDirector中文使用文档

    ChartDirector是一款强大的报表和图表制作工具,尤其适合于在IT行业中进行数据可视化。这款软件以其易用性和丰富功能,深受用户喜爱。以下是对ChartDirector及其使用的一些关键知识点的详细解释。 1. **基本概念** ...

    ChartDirector开发文档和例子

    ChartDirector是一款强大的图表生成库,广泛应用于各类软件和Web应用中,用于创建高质量的数据可视化效果。这个开发文档和示例集合提供了丰富的资源,帮助开发者快速掌握ChartDirector的使用方法。 一、...

    支持java,js画图的工具ChartDirector

    下面将详细介绍ChartDirector在Java和JavaScript环境中的应用,以及如何利用其提供的资源进行高效绘图。 首先,ChartDirector在Java平台上的应用主要体现在它的Java API上。这个API允许开发者轻松地创建各种类型的...

    chartdirector5中文文档.rar

    ChartDirector 5是一款强大的图表库,专为程序员设计,用于在各种应用程序中创建高质量的2D和3D图表。这个中文文档集包含了详尽的指南和教程,帮助开发者充分利用ChartDirector的功能。以下是对ChartDirector 5中文...

    ChartDirector

    ChartDirector是一款强大的图表生成库,尤其适用于JAVA开发者。它提供了丰富的图表类型,包括柱状图、线形...它强大的定制能力和多格式输出能力,使得无论是在桌面应用还是Web应用中,都能够轻松创建出专业级别的图表。

    chartdirector中文手册

    ### ChartDirector中文手册知识点概述 ...综上所述,ChartDirector是一款功能强大的图表制作工具,不仅提供了丰富的图表类型和自定义选项,还具备高效的性能和良好的浏览器兼容性,适用于多种应用场景。

    chartdirector for java v7.0完美版

    4. **高质量渲染**:无论是屏幕显示还是打印输出,ChartDirector都能提供清晰、精确的图像质量,确保图表在任何环境中都能保持专业水准。 5. **跨平台兼容**:ChartDirector for Java可以在所有Java支持的操作系统...

    chartDirector学习笔记

    在后续章节中,我们将深入探讨如何在Servlet环境下创建和使用ChartDirector图表,以及如何自定义图表样式和交互功能。此外,还将分享如何去除免费版本中的广告条,以获得更干净的图表展示。通过本文档的学习,期望能...

    ChartDirector 6.0.rar

    8. **跨浏览器和跨设备**:在Web应用中,ChartDirector可以很好地在各种主流浏览器(如Chrome、Firefox、Safari、Edge)上运行,并且适应不同的屏幕尺寸和分辨率,确保在移动设备上也能呈现良好的图表效果。...

    chartdirector 实例手册

    9. 颜色和壁纸(Coloring and Wallpaper):ChartDirector 允许用户自定义图表的颜色和壁纸,以适应不同的应用场景。例如,在一个教育系统中,可以使用不同的颜色和壁纸来展示不同科目的学习进度。 二、柱状图 1. ...

    ChartDirector实例

    ChartDirector是一款强大的图表生成库,广泛应用于各类软件和网页中,用于创建高质量的数据可视化效果。在"ChartDirector实例"这个主题中,我们可以深入探讨ChartDirector的多种图表类型、使用方法以及如何通过它来...

    chartdirector 5.1

    ChartDirector 5.1 for .NET 是一个专为.NET开发者设计的强大图表库,它提供了丰富的图形绘制功能,帮助程序员在应用程序中轻松创建高质量、交互式的图表。ChartDirector 5.1 版本针对.NET Framework进行了优化,...

    chartdirector for C++ 64位。

    总结来说,ChartDirector for C++ 64位是一个强大的工具,为C++开发者提供了在64位环境中创建专业图表的能力,具有丰富的图表类型、交互式功能以及高效的数据处理能力,是数据可视化和分析的理想选择。通过学习和...

    ChartDirector图表 ActiveX版 5.1.1正版

    ChartDirector 图表 ActiveX版,32位,有正版序列号,5.1.1 是最后的一个可用的5.X正版,运行非常稳定,没有BUG.可以在VB和ASP网页中使用.英文版,官方没有中文版. 非常漂亮的图表控件比TeeChart强很多.

    ChartDirector program manual for Java

    ChartDirector是一款强大的图表制作工具,它提供了丰富的图表类型和自定义选项,使得开发者能够轻松地在应用程序中集成高质量的图表。手册包含两大部分:语法解释和实例演示,以CHM(Microsoft Compiled HTML Help)...

    chartdirector 帮助文档

    通过在JSP页面中引用JavaBean,可以直接在页面上生成图表,或者通过Servlet在服务器端生成图表并返回给客户端。 9. **性能优化** 当处理大量数据时,优化图表性能是必要的。可以考虑使用缓存、预计算数据或减少...

    ChartDirector图表样式示例

    ChartDirector图表样式示例,主要介绍了ChartDirector图表的制作。

    chartDirector官方资源(含文档,jar包等)

    ChartDirector是一款强大的图表生成库,广泛应用于各类软件项目中,为用户提供高质量的2D和3D图表。这个压缩包包含了ChartDirector的官方资源,包括文档、jar包以及演示示例,便于开发者理解和使用该库。 1. **...

    ChartDirector for java 5.0注册码

    ChartDirector是一款强大的图表组件,它为开发者提供了丰富的图表类型和高度定制的能力,帮助他们在应用程序中创建各种高质量的图表。 ChartDirector的主要特点包括: 1. **多平台支持**:ChartDirector支持多种...

Global site tag (gtag.js) - Google Analytics