1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
| package test;
import java.io.File;
import test.StringToDate;
import java.io.IOException;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.text.ParseException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.data.time.Minute;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
public class ServletGraph_v1 extends HttpServlet {
private static final long serialVersionUID = 1L;
ServletOutputStream outb;
Connection connection;
Statement statmt;
ResultSet rs;
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = null ;
String driver ="com.mysql.jdbc.Driver";
Timestamp datedeb;
Timestamp datedef;
//Initialiser les variables globales
public void init() throws ServletException {
try{
Class.forName(driver);
}
catch (ClassNotFoundException e){
System.out.println("Pilote non retrouvé");
}
try{
connection = DriverManager.getConnection(url,username,password);
}
catch(SQLException sqle){System.out.println("Erreur lors de la connexion à la base de données");
destroy();}
}
//Traiter la requête HTTP Get
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
/*
res.setContentType("text/html");
PrintWriter out = res.getWriter();
*/
String groupName = req.getParameter("groupe");
String moniteur = req.getParameter("monitor");
String datedebut = req.getParameter("dated");
String dateFin = req.getParameter("datef");
System.out.println("recupération des données");
/*
out.println("<html>");
out.println("<body>\n"+groupName+"\n<br>"+moniteur+"\n<br>"+datedebut+"\n<br>"+dateFin+"</body>");
out.println("<html>");
*/
outb = res.getOutputStream();
StringBuffer tampon = new StringBuffer(2000);
try{
Timestamp sDate= StringToDate.toDBDateFormat(datedebut);
Timestamp zDate= StringToDate.toDBDateFormat(dateFin);
tampon.append("select * from pingtest where groupName like '%");
tampon.append(groupName);
tampon.append(" %'and monitorName like'%");
tampon.append(moniteur);
tampon.append("%'and datex between '");
tampon.append(sDate);
tampon.append("'and'");
tampon.append(zDate);
tampon.append("'");
tampon.append(";");
}catch (ParseException b){System.out.println("Erreur Parse");}
System.out.println("je suis là");
String requete = tampon.toString();
//String requete = "select * from PingTest where groupName like '%melbaroudi%'and monitorName like'%Ping rtwan%'and datex BETWEEN '2009-03-23 11:05:23'and '2009-03-23 11:50:08'";
final TimeSeries series = new TimeSeries("Minute", Minute.class);
try {
statmt = connection.createStatement();
rs = statmt.executeQuery(requete);
while(rs.next()){
Timestamp v1 = rs.getTimestamp("datex");
double v2=rs.getDouble("value2");
series.addOrUpdate( new Minute(v1), v2);
}
rs.close();
}
catch (SQLException sqle){System.out.println("Erreur de requete");}
System.out.println("coucou");
final TimeSeriesCollection dataset = new TimeSeriesCollection(series);
final String chartTitle = "Graph of Monitor Ping";
final JFreeChart chart = ChartFactory.createTimeSeriesChart(
chartTitle,
"Time",
"Value",
dataset,
true,
true,
false
);
OutputStream out = res.getOutputStream();
res.setContentType("image/png");
ChartUtilities.writeChartAsPNG(out, chart, 700, 600);
File fichier = new File("image.png");
try {
ChartUtilities.saveChartAsPNG(fichier, chart, 400, 250);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("aloooo");
}
//Nettoyer les ressources
public void destroy() {
try {
connection.close();
}
catch (SQLException sqle){System.out.println("Erreur de fermeture de connexion à la base de données");}
System.out.println("hahahah");
}
} |
Partager