//Statstic-Control.jsp
<%@ page import = "com.mtelo.chart.*,java.io.*" language="java"
pageEncoding="EUC-KR"%>
<%@ page import = "org.jfree.chart.*" %>
getServletContext().getRealPath("/graph.jpg");<%
System.setProperty("java.awt.headless", "true");
testChartDAO dao = new testChartDAO(); JFreeChart chart= dao.getBarChart();
String fileName=request.getRealPath("/graph.jpg");
System.out.println("처음 만들어진 경로"+fileName);
File file1=new File(fileName);
FileOutputStream fos=new FileOutputStream(file1);
ChartUtilities.writeChartAsPNG(fos, chart, 400, 400);
fos.close();
request.setAttribute("fn",fileName);
%>
<jsp:forward page="Statistic-view.jsp"/>
//Statistic-view.jsp
<%@ page import="java.io.*" language="java" pageEncoding="EUC-KR"%>
<%
String fileName=(String)request.getAttribute("fn");
System.out.println("넘어온 경로 : "+fileName);
%>
<html>
<head>
</head>
<body>
<p>
<center>
<img src="/VRS-WEB/graph.jpg"><br>
<a href="Statstic-Form.jsp">통계 보기 페이지로 이동</a>
</center></body>
</html>
//testChartDAO.java
package com.mtelo.chart;import java.awt.Color;import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;public class testChartDAO {
public JFreeChart getPieChart(){
DefaultPieDataset dataset=new DefaultPieDataset();
String bread = "빵";
String pizza = "피자";
String water = "물";
try{
bread = new String(bread.getBytes("8859_1"),"SansSerif");
pizza = new String(pizza.getBytes("8859_1"),"SansSerif");
water = new String(water.getBytes("8859_1"),"SansSerif");
}catch(Exception e){
e.printStackTrace();
}
dataset.setValue(bread,5000); dataset.setValue(pizza,11000);
dataset.setValue(water,4000);
System.setProperty("java.awt.headless", "true");
JFreeChart chart = ChartFactory.createPieChart("food", dataset, false,true, false); chart.setBackgroundPaint(Color.yellow);
chart.getTitle().setPaint(Color.blue);
System.out.println(chart.getTitle().getFont().getName());
return chart;
}
public JFreeChart getBarChart(){
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
String bread = "빵";
String pizza = "피자";
String water = "물";
String spcies = "종류";
String won = "원";
try{
bread = new String(bread.getBytes("8859_1"),"SansSerif");
pizza = new String(pizza.getBytes("8859_1"),"SansSerif");
water = new String(water.getBytes("8859_1"),"SansSerif");
spcies = new String(spcies.getBytes("8859_1"),"SansSerif");
won = new String(won.getBytes("8859_1"),"SansSerif");
}catch(Exception e){
e.printStackTrace();
}
dataset.setValue(5000,bread,bread);
//첫번째는 숫자, 두번째는 표에 나올 종류 이름 , 세번째는 표밖에서 분류로 나올 것들인데 두번째와 세번째는
//같게 해주면 될것 같다. dataset.setValue(11000,pizza,pizza); dataset.setValue(4000,water,water);
JFreeChart chart = ChartFactory.createBarChart("food",spcies,won,dataset,PlotOrientation.VERTICAL,true,true,false);
return chart;
}
}
'JAVA' 카테고리의 다른 글
자바와 C 사이의 SOCKET 통신 (BYTE로 통신,보너스로 LITTLE ENDIAN까지) (1) | 2009.04.21 |
---|---|
자바로 xml 형식의 String 파싱 (1) | 2009.04.20 |
JFReeChart 한글 처리 방법 (3) | 2009.03.30 |
java.sql.Date 를 String 데이터로 변환시켜주는 법 (0) | 2009.03.28 |
유닉스에서 JFReeChart 에러 문제 (0) | 2009.03.28 |
댓글