package com.gaojingmin;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.time.TimeSeriesDataItem;
public class CurveChartServlet extends HttpServlet {
	/**
	 * Constructor of the object.
	 */
	public CurveChartServlet() {
		super();
	}
	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doPost(request, response);
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
        // ����ͼ����
        String title = "���Ʒ���";
        // ����ͼX����ʾ
        String domain = "���";
        // ����ͼY����ʾ
        String range = "GDP";
        // ����ʱ�����Դ��ÿһ��TimeSeries��ͼ����һ������
        TimeSeries chinaTs = new TimeSeries("�й�");
        Map<Integer, Integer> chinaht = new LinkedHashMap<Integer, Integer>();
        chinaht.put(2002, 22100);
        chinaht.put(2003, 14100);
        chinaht.put(2004, 27100);
        chinaht.put(2005, 38100);
        chinaht.put(2006, 29000);
        chinaht.put(2007, 90100);
        
        for (Integer i:chinaht.keySet()) {
            chinaTs.add(new TimeSeriesDataItem(new Day(1, 1, i),new Double(chinaht.get(i))));            
        }
        // ����ʱ�����Դ��ÿһ��TimeSeries��ͼ����һ������
        TimeSeries japanTs = new TimeSeries("�ձ�");
        Map<Integer, Integer> japanht = new LinkedHashMap<Integer, Integer>();
        japanht.put(2000, 43900);
        japanht.put(2003, 63500);
        japanht.put(2004, 43400);
        japanht.put(2005, 63200);
        japanht.put(2006, 53100);
        japanht.put(2007, 32900);
        
        for (Integer i:japanht.keySet()) {
            japanTs.add(new TimeSeriesDataItem(new Day(1, 1, i),new Double(japanht.get(i))));            
        }
        // ����ʱ�����Դ��ÿһ��TimeSeries��ͼ����һ������
        TimeSeries usaTs = new TimeSeries("����");
        Map<Integer, Integer> usaht = new LinkedHashMap<Integer, Integer>();
        usaht.put(2001, 100000);
        usaht.put(2003, 159800);
        usaht.put(2004, 109700);
        usaht.put(2005, 129600);
        usaht.put(2006, 9800);
        usaht.put(2007, 149800);
        
        for (Integer i:usaht.keySet()) {
            usaTs.add(new TimeSeriesDataItem(new Day(1, 1, i),new Double(usaht.get(i))));            
        }
        
        // ʱ��������ݼ���
        TimeSeriesCollection dataset = new TimeSeriesCollection();
        dataset.addSeries(chinaTs);
        dataset.addSeries(japanTs);
        dataset.addSeries(usaTs);
        // ʱ������Ԫ��
        JFreeChart chart = ChartFactory.createTimeSeriesChart(title, domain,
                range, dataset, true, true, false);
        // �����ļ�����ͼƬ��ַ���ݵ�ҳ��
        String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300,
                null, request.getSession());
        String graphURL = request.getContextPath() + "/displayChart?filename="
                + filename;
        request.setAttribute("graphURL", graphURL);
        // ��ʶ
        request.setAttribute("msg", "����ͼЧ��");
        // ҳ��ת��
        RequestDispatcher dispatcher = request
                .getRequestDispatcher("CurveChart.jsp");
        dispatcher.forward(request, response);
        return;
	}
	/**
	 * Initialization of the servlet. <br>
	 *
	 * @throws ServletException if an error occurs
	 */
	public void init() throws ServletException {
		// Put your code here
	}
}
 最近下载更多
最近下载更多
                
                1358849392     LV21
                2023年7月5日
            
            
        
                ok1821     LV1
                2022年5月10日
            
            
        
                shmtuec9     LV1
                2021年12月28日
            
            
        
                ericxu1116     LV24
                2021年6月5日
            
            
        
                fangzhicheng     LV1
                2021年4月21日
            
            
        
                infoboy     LV1
                2021年3月5日
            
            
        
                zjjhzjb     LV15
                2019年12月7日
            
            
        
                Yann12138     LV1
                2019年12月5日
            
            
        
                空心菜4     LV9
                2019年5月30日
            
            
        
                听雨楼     LV9
                2019年5月22日
            
            
         最近浏览更多
最近浏览更多
                
                Solowen    
                4月16日
            
            
                    暂无贡献等级
            
        
                fesfefe     LV13
                2023年11月1日
            
            
        
                qq1357574774     LV2
                2023年8月14日
            
            
        
                微信网友_5992582549164032     LV6
                2023年2月21日
            
            
        
                1358849392     LV21
                2022年11月23日
            
            
        
                ok1821     LV1
                2022年5月10日
            
            
        
                huzxiong    
                2022年2月24日
            
            
                    暂无贡献等级
            
        
                shmtuec9     LV1
                2021年12月28日
            
            
        
                James_hong     LV1
                2021年10月14日
            
            
        
                17558420274     LV16
                2021年7月27日
            
            
        
 
                 
                 
    