Liaison entre servlet et page html

mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011 - 7 mars 2011 à 19:30
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011 - 13 mars 2011 à 19:41
salut,

mon but est gérer un statistique selon des donnes récupérer d'après un fichier .xml

j'ai un code qui tourne et qui affiche un statistique sous forme camembert

dans une page html

voila le code de la page stat.html


Mon exemple Example













var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Browser market shares at a specific website, 2010'
},
tooltip: {
formatter: function() {
return ' '+ this.point.name +' : '+ this.y +' %';
}
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function() {
return ''+ this.point.name +': '+ this.y +' %';
}
}
}
},
series: [{
type: 'pie',
name: 'Browser share',
data: [
['Firefox', 45.0],

{
name: 'Chrome',
y: 12,
sliced: true,
selected: true
},
['Others', 43 ]

]
}]
});
});













bien sur je met sous mon projet les fichier exporting.js ,highcharts.js


mais mon but est créer une servlet grâce a cette servlet je peux récupérer

les donnés qui sont stockés dans fichier .xml


je vous donne un exemple de fichier xml qui je dois le parser pour extraire les donnes

fichier test.xml


fireFox
45%



Chrome
12.8%








donc dans la servlet en principe je dois écrire le code java grâce lequel je dois parcourir le fichier test.xml


j'ai une idee sur le code java qui sert a parcourir le fichier .xml et extraire le donnes dans mon cas je dois extraire : Firefox 45
Chrome 12,8


la valeur de other dois être calculer automatique en faire la différence (100-(45+12))


le but est connaitre la structure final de la servlet nommé par exemple : testServlet.java


et comment avoir la relation avec le fichier stat.html

pour que les donnes par exemple ['Firefox', 45.0] seront remplir automatique c a dire le nom :firefox doit être rempli automatique grâce au fichier test.xml :fireFox

de même pour la valeur 45


donc a mon avie je dois avoir un changement dans le fichier stat.html pour que je peux remplir les valeurs de manière automatique


aussi le fichier testServlet.java dois être écrit de manière a qu'il puisse parcourir le fichier test.xml et extraire les donnes nécessaire



j'espère qui j'arrive a simplifier le problème et l'objectif attendue


si quelqu'un a une idée sur ce genre de problème n'hésiter pas a m'aider

vraiment je suis bloquer dans cette etape

quelque sois la modification dans le fichier stat.html ou bien
testServlet.java

merci d'avance

4 réponses

mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
9 mars 2011 à 18:48
pour que je démare je configure le fichier web.xml
 <servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>monpackage.TestServlet</servlet-class>
 </servlet>
 
  <servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    TestServlet/*
  </servlet-mapping>
 


et je pense code de la page xhtml doit contenir ces lignes

[
<form action="TestServlet" method="POST">

</form>
 



et fichier testservlet.java
class TestServlet extends ....{
 
@override
doGet(....){
doPost();
}
@override
doPost(...){
 
//ici j'appelles la classe Test que je transformes en objet les données recuperer de fichier .xml
//puis tu renvois vers ta page 
}
}



le fichier .xhtml est
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<head>
<title>page test</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Mon exemple Example</title>



<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="../js/highcharts.js"></script>


<script type="text/javascript" src="../js/modules/exporting.js"></script>



<script type="text/javascript">

var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
rowser market shares at a specific website, 2010'
},
tooltip: {
formatter: function() {
return ''+ this.point.name +': '+ this.y +' %';
}
},
plotOptions: {
pie: {
allowPointSelect: true,					cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function() {
return ''+ this.point.name +': '+ this.y +' %';
}
}
}
},
    series: [{
type: 'pie',
name: 'Browser share',
data: [
['Firefox',   45.0],

{
name: 'Chrome',    
y: 12,
sliced: true,
selected: true
},
                                                  ['Others',  43 ]

]
}]
});
});

</script>

</head>


<!-- 3. Add the container -->





 
 
 


pouvez SVP m'aider à erire le code de servlet qui fait appel a une classe java qui parse le fichier .xml pour reuperer les donnes

ou bien ecrire dans la servlet elle meme le code de traitement de fichier .xml


je suis vraiment bloqué dans cette étape je cherche juste une idée ou bien un petit code qui put m'aider

merci d'avance
0
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
10 mars 2011 à 19:50
voila un code java qui est testé avec succéé et qui sert a parcourir le fichier .xml
import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import java.util.List;
import java.util.Iterator;
 
public class Exemple_XML{
   static org.jdom.Document document;
   static Element racine;
 
   public static void main(String[] args){
      SAXBuilder sxb = new SAXBuilder();
      try{
         document = sxb.build(new File("Application.xml"));
      }
      catch(Exception e){}
      racine = document.getRootElement();
      afficheALL();
   }
   static void afficheALL(){
    List listApplications = racine.getChildren("application");
    Iterator i = listApplications.iterator();
   while(i.hasNext()){
      Element courant = (Element)i.next();
     // System.out.println(courant.getValue());  //Afficher les noms + nombre
      System.out.println("\n"+courant.getChild("nom").getValue()+" \n"+courant.getChild("nombre").getValue());
     // System.out.println(courant.getChild("nom").getValue());
   }
}
}
 


et voila un exemple de fichier .xml
<?xml version="1.0" encoding="UTF-8"?>

   
      <nom>firefox</nom>
      <nombre>45</nombre>
   
 
   
   
      <nom>chrome</nom>
      <nombre>15</nombre>
   
  



firefox 
45
 
chrome 
15
donc avec ce résultat que je dois interagi avec mon statistique

donc pouvez m'aider a encire la servlet qui soit fait appel a la classe java présidente ou soit ecrire le code dans la servlet et prend comme sortie je pense avec doPost pour la récupérer dans la page jsp ou xhtml et comme cette valeur dans javascript pour afficher le statistique d'une maniere dynamique


j'espère que cette fois pouvez m'aider dans le codage de servlet et si vous avez une autre idée dans le scénario que j'ai déjà preci
0
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
10 mars 2011 à 19:57
cette ligne n'est pas affiché correctement dans mon question président

 System.out.println
("\n"+courant.getChild("nom").getValue()+" \n"+courant.getChild("nombre").getValue());
0
mdh12 Messages postés 55 Date d'inscription dimanche 13 décembre 2009 Statut Membre Dernière intervention 29 mars 2011
13 mars 2011 à 19:41
est ce que quelqu'un a une idée pour mon problème
0
Rejoignez-nous