亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chartservlet.java

?? JWebChart is a simple package to allow anyone to render complex charts using a Java Servlet. The pro
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * ChartServlet.java
 * 
 * Created on 08-Feb-2006
 *
 * JWebChart
 * Copyright (C) 2006 by Luke Trevorrow (www.axioma.org.uk)
 */

package uk.org.axioma.servlet;

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.servlet.ChartDeleter;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.time.Second;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.xml.DatasetReader;
import org.jfree.data.xy.XYSeries;

import uk.org.axioma.chart.CategoryChart;
import uk.org.axioma.chart.MeterChart;
import uk.org.axioma.chart.PieChart;
import uk.org.axioma.chart.XYChart;

/**
 * <p>
 * The ChartServlet object 
 * </p>
 * @author <a href="mailto:luke.trevorrow@gmail.com">Luke Trevorrow</a>
 * @version 0.3
 * 
 */
public class ChartServlet extends HttpServlet {

	/**
	 * autogenerated serialVersionUID
	 */
	private static final long serialVersionUID = 6748895383151504466L;


	/**
	 * 
	 */
	public ChartServlet() {
		super();
	}
	
    /**
     * Init method.
     *
     * @throws ServletException never.
     */
    public void init() throws ServletException {
        return;
    }

    /**
     * Service method.
     *
     * @param request  the request.
     * @param response  the response.
     *
     * @throws ServletException ??.
     * @throws IOException ??.
     */
    public void service(HttpServletRequest request, 
                        HttpServletResponse response)
            throws ServletException, IOException {

        HttpSession session = request.getSession();
        Enumeration en = request.getParameterNames();
        Map<String,String[]> map = new HashMap<String,String[]>(request.getParameterMap());
        JFreeChart jfc = null;
        
        String series = null;
        int width = 300, height = 200;
        
        /*PrintWriter out = response.getWriter();
        response.setContentType("text/html");
        out.println("<H4>");*/
        
        // go through the hash map and extract the core values.
        // extract the rest in the createChart methods
        if (map.containsKey("Series")) {
        	// use the getParameter method rather than the map to get the string array as I am sure this will be faster
        	series = request.getParameter("Series");
        	map.remove("Series");
        	//out.println("<br>Graph : " + series);
        }
        
        if (map.containsKey("Width")) {
        	width = Integer.valueOf(request.getParameter("Width")).intValue();
        	map.remove("Width");
        	//out.println("<br>Width : " + width);
        }
        
        if (map.containsKey("Height")) {
        	height = Integer.valueOf(request.getParameter("Height")).intValue();
        	map.remove("Height");
        	//out.println("<br>Height : " + height);
        }
        
        // create the chart
        if (series.equalsIgnoreCase("Pie")) {
        	jfc = createPie(map, request); 	
        } else if (series.equalsIgnoreCase("Category")) {
        	jfc = createCategory(map, request);
        } else if (series.equalsIgnoreCase("XY")) {
        	jfc = createXY(map, request);
        } else if (series.equalsIgnoreCase("Meter")) {
        	jfc = createMeter(map, request);
        }
                
        // save the image for display
        String filename = ServletUtilities.saveChartAsPNG(jfc,width,height,null);
        //out.println(filename);
        
        // Check the file exists
        File file = new File(System.getProperty("java.io.tmpdir"), filename);
        if (!file.exists()) {
            throw new ServletException(
                "File '" + file.getAbsolutePath() + "' does not exist"
            );
        }

        //  Check that the graph being served was created by the current user
        //  or that it begins with "public"
        boolean isChartInUserList = false;
        ChartDeleter chartDeleter = (ChartDeleter) session.getAttribute(
            "JFreeChart_Deleter"
        );
        if (chartDeleter != null) {
            isChartInUserList = chartDeleter.isChartAvailable(filename);
        }

        boolean isChartPublic = false;
        if (filename.length() >= 6) {
            if (filename.substring(0, 6).equals("public")) {
                isChartPublic = true;
            }
        }
        
        boolean isOneTimeChart = false;
        if (filename.startsWith(ServletUtilities.getTempOneTimeFilePrefix())) {
            isOneTimeChart = true;   
        }

        if (isChartInUserList || isChartPublic || isOneTimeChart) {
            //  Serve it up
            ServletUtilities.sendTempFile(file, response);
            if (isOneTimeChart) {
                file.delete();
            }
        } else {
            throw new ServletException("Chart image not found");
        }
        
        // For keys of a map
        //for (Iterator<String> it=map.keySet().iterator(); it.hasNext(); ) {
            //Object key = it.next();
            //out.println("Key : " + key);
        //}
        // just return the filename to the browser for now
        //out.println("</H4>");
        //out.println("<TR>");
        //out.println("<TH CLASS=\"data\">");
        //out.println("filename");
        //out.println("</TH>");
        //out.println("</TR>");
        //out.print("<TD CLASS=\"data\">");
        //out.println(filename);
        //out.println("</TD>");
    }
    
    /**
     * Create meter chart method.
     * @param data which can consist of elements such as:
     * <ul>
     * <li> Type - the type of chart: either Chord, Pie, Circle, RAGChord, RAGPie, or RAGCircle.</li>
     * <li> Title - the title of the chart.</li>
     * <li> Value - the value range for the meter.</li>
     * <li> Units - the unit of measure for the meter.</li>
     * <li> Range - the range for the meter.</li>
     * <li> Interval - the interval ranges for the legend. Format is name=startval,endval, eg: Low=0,70</li>
     * </ul>
     * @param req which is the Http Servlet Request
     * 
     * @return JFreeChart
     * @throws ServletException
     * 
     */
    private JFreeChart createMeter(Map<String, String[]> data, HttpServletRequest req)
    		throws ServletException {
    	MeterChart mc = new MeterChart();

    	// what type?
    	if (data.containsKey("Type")) {
    		String type = req.getParameter("Type");
    		if (type.equalsIgnoreCase("Chord")) {
            	mc.type = MeterChart.TYPECHORD;
            } else if (type.equalsIgnoreCase("Circle")) {
            	mc.type = MeterChart.TYPECIRCLE;
            } else if (type.equalsIgnoreCase("Pie")) {
            	mc.type = MeterChart.TYPEPIE;
            } else if (type.equalsIgnoreCase("RAGChord")) {
            	mc.type = MeterChart.TYPERAGCHORD;
            } else if (type.equalsIgnoreCase("RAGCircle")) {
            	mc.type = MeterChart.TYPERAGCIRCLE;
            } else if (type.equalsIgnoreCase("RAGPie")) {
            	mc.type = MeterChart.TYPERAGPIE;
            }
    		data.remove("Type");
    	}
    	
    	// set the title for the Pie Chart
    	if (data.containsKey("Title")) {
    		mc.title = req.getParameter("Title");
    		data.remove("Title");
    	}
    	// set the units of measure
    	if (data.containsKey("Units")) {
    		mc.units = req.getParameter("Units");
    		data.remove("Units");
    	}
    	// set the range
    	if (data.containsKey("Range")) {
    		mc.range = req.getParameter("Range");
    		data.remove("Range");
    	}
    	// set the value
    	if (data.containsKey("Value")) {
    		mc.dataset.setValue(Double.valueOf(req.getParameter("Value")));
    		data.remove("Value");
    	}
    	
    	mc.interval = data;
    	//MeterChart.out = out;
    	
    	// create the chart
    	JFreeChart chart = mc.getChart();
    	return chart;
    }
    
    /**
     * Create pie chart method.
     * 
     * @param data which can consist of elements such as:
     * <ul>
     * <li> Type - the type of chart: either 2D, 3D, or Ring.</li>
     * <li> Title - the title of the chart.</li>
     * <li> XMLFile - the XML file name if applicable.</li>
     * <li> data - the data to plot. Format is name=value&name=value, eg: Fish=70&Chips=66.</li>
     * </ul>
     * @param req which is the Http Servlet Request	
     *
     * @return JFreeChart
     * @throws ServletException
     * 
     */
    private JFreeChart createPie(Map<String, String[]> data, HttpServletRequest req) 
    		throws ServletException {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影一区二区三区四区| 视频一区视频二区在线观看| 欧美日本韩国一区| 丁香啪啪综合成人亚洲小说| 日日嗨av一区二区三区四区| 国产精品久久久久久户外露出 | 夜色激情一区二区| 久久男人中文字幕资源站| 欧美性xxxxxxxx| 国产91丝袜在线播放0| 美女任你摸久久| 亚洲在线视频一区| 国产精品久久久久久久久搜平片| 日韩一级片在线播放| 在线观看精品一区| 99久久久无码国产精品| 国产激情偷乱视频一区二区三区| 日本午夜一区二区| 亚洲综合图片区| 亚洲图片激情小说| 国产精品污污网站在线观看| 精品国产一区二区三区忘忧草 | 欧美一级日韩一级| 欧美美女视频在线观看| 日本精品免费观看高清观看| 成人激情午夜影院| 丁香啪啪综合成人亚洲小说 | 日本vs亚洲vs韩国一区三区二区 | 91老师片黄在线观看| 成人夜色视频网站在线观看| 国产一区二区成人久久免费影院| 美女视频一区二区三区| 免费黄网站欧美| 免费久久99精品国产| 麻豆91在线播放免费| 美国三级日本三级久久99| 午夜不卡在线视频| 日韩av不卡一区二区| 天堂蜜桃91精品| 日韩综合在线视频| 蜜臀va亚洲va欧美va天堂| 另类小说图片综合网| 狠狠色综合播放一区二区| 国产麻豆视频一区二区| 精品一区二区三区的国产在线播放| 日韩avvvv在线播放| 精品制服美女丁香| 精品亚洲国内自在自线福利| 国产一区二区三区在线观看免费视频| 久久成人免费电影| 国产精品一级二级三级| 不卡影院免费观看| 色婷婷精品久久二区二区蜜臀av| 欧美自拍偷拍一区| 欧美亚日韩国产aⅴ精品中极品| 欧美中文字幕亚洲一区二区va在线 | 亚洲一区二区偷拍精品| 五月激情六月综合| 看国产成人h片视频| 激情久久久久久久久久久久久久久久| 国产一区二区免费看| 国产99一区视频免费| 91麻豆自制传媒国产之光| 欧美在线一区二区三区| 91精品国产乱| 久久精品视频在线看| 亚洲免费观看视频| 日韩高清在线不卡| 国产精品系列在线观看| 99精品久久只有精品| 欧美久久久久中文字幕| 久久久久久免费网| 一区二区三区中文字幕| 老司机午夜精品| 99精品国产视频| 欧美一级二级在线观看| 国产女人水真多18毛片18精品视频| 亚洲欧美精品午睡沙发| 美腿丝袜在线亚洲一区| 成人深夜视频在线观看| 欧美日韩国产影片| 亚洲国产精品一区二区尤物区| 亚洲日本电影在线| 成人动漫精品一区二区| 99久久免费精品| 日韩一区二区三区视频在线| 国产婷婷色一区二区三区四区 | 久久精品国产一区二区三| 日产欧产美韩系列久久99| 色欧美日韩亚洲| 3d成人动漫网站| 久久伊99综合婷婷久久伊| 亚洲日本va午夜在线电影| 日本欧美韩国一区三区| 波多野结衣一区二区三区| 91精品国产入口| 亚洲视频资源在线| 国产精品综合av一区二区国产馆| 欧美视频在线一区| 国产精品成人免费| 韩国欧美一区二区| 制服丝袜成人动漫| 亚洲日本在线观看| 国产高清精品网站| 日韩一级免费观看| 亚洲高清视频在线| 91视频91自| 中文字幕久久午夜不卡| 精品在线一区二区三区| 欧美精品久久久久久久久老牛影院 | 国产精品羞羞答答xxdd| 欧美丰满少妇xxxxx高潮对白| 亚洲日本va午夜在线电影| 国产不卡视频一区| 精品久久久久久久久久久久久久久 | 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 欧美日韩国产在线观看| 亚洲欧美一区二区三区极速播放| 国产一区二区在线影院| 欧美xxxx老人做受| 奇米精品一区二区三区在线观看 | 欧美激情一区二区三区蜜桃视频 | 国产成人无遮挡在线视频| 日韩美女在线视频| 轻轻草成人在线| 欧美日韩二区三区| 亚洲午夜久久久久久久久久久| 91老师国产黑色丝袜在线| 国产精品国产三级国产三级人妇| 国产精品一区二区三区99| 精品国产乱码久久久久久久久| 秋霞av亚洲一区二区三| 欧美一级日韩免费不卡| 日韩一区欧美二区| 日韩一区二区免费在线电影| 日韩精品成人一区二区三区| www亚洲一区| 国产美女一区二区三区| 欧美国产精品一区二区| 成人午夜激情片| 亚洲一区二区精品视频| 久久久精品一品道一区| 一本一道综合狠狠老| 免费在线观看一区二区三区| 国产日产欧美一区二区视频| 欧美三级在线看| 国产999精品久久久久久| 婷婷久久综合九色综合伊人色| 国产日韩欧美一区二区三区乱码 | 国产一区二区三区四区在线观看| 国产欧美一区二区精品忘忧草| 欧美成人r级一区二区三区| 欧美在线小视频| 欧美私模裸体表演在线观看| 欧美电影免费观看高清完整版在 | 91天堂素人约啪| 日韩不卡在线观看日韩不卡视频| 国产欧美日本一区二区三区| 亚洲日本在线看| 成人免费毛片高清视频| 久久九九全国免费| 欧美群妇大交群中文字幕| 日韩av一区二区三区四区| 欧美精品一区二区三区蜜桃 | 色婷婷亚洲综合| 日韩精品欧美精品| 久久精品视频在线看| 91在线精品一区二区三区| 丝瓜av网站精品一区二区| 久久久久久久久久久久久久久99| 日韩二区在线观看| 无吗不卡中文字幕| 麻豆精品一区二区| 亚洲va天堂va国产va久| 一区二区免费在线| 国产高清在线精品| 麻豆精品新av中文字幕| 亚洲曰韩产成在线| 亚洲国产精品久久不卡毛片| 性做久久久久久久免费看| 亚洲精品午夜久久久| 久久99国产精品成人| 日韩欧美一区电影| 久久疯狂做爰流白浆xx| 三级久久三级久久久| 欧美成人三级在线| 成人avav影音| 蜜桃视频一区二区三区| 亚洲男人都懂的| 久久色在线观看| 欧美日韩另类一区| 国产成人av自拍| 日本不卡视频在线| 亚洲男人天堂av网| 久久久久久亚洲综合| 91精品国产色综合久久ai换脸 | 青青草国产精品亚洲专区无| 国产精品久久久99| 精品成人免费观看| 欧美精品自拍偷拍|