Projet d'ecole : Compilateur Online (Besoin d'aide)

JSR2K Messages postés 12 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 6 mars 2007 - 6 juin 2006 à 13:23
JSR2K Messages postés 12 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 6 mars 2007 - 7 juin 2006 à 09:16
Bonjour,
En premiere année d'iut, nous avons l'obligation de faire un projet en java, quelque soit le theme. J'ai choisit avec un pote de faire un compilateur online en J2EE/JSP sous netbeans(ca change des snake,sudoku et autre jeu et gestion d'objet). Le compilateur online recoit le code source (C++/Basic/Asm) et le mail du projet, il compile tout çà et le renvoi par mail zippe). Simplement je rencontre quelques gros problemes que j'ai du mal à resoudre car tout ce que je fais là , ce n'est pas du tout dans le cours de cette année (de plus mon pote en branle pas une).

Voilà le code bugge du compilateur online : http://pastebin.com/762070
Et la page html pour envoyer les info (code source, mail) au serveur : http://pastebin.com/762071

Voilà les different problemes :
-  le zip du fichier executable est execute avant meme que la compilation ne soit terminée. En fait, comme je lance au moyen de la procedure .exec() un invite de commande externe propre à Windows qui lance un script de compilation (je n'ai pas d'autre moyen car .exec sans l'invite de commande ne marche pas), java n'arrive pas à detecter quand la compilation est terminer (cad quand la fenetre d'invite de commande se ferme). Comment y remedier?

- J'ai des problemes de session (je n'ai pas vu ce concept auparavent) cad deux personnes envoi une requete de compilation en meme temps, le serveur renvoi une erreur pour l'un des deux... Comment y remedier?

- J'aimerais creer mes propres classes et fonction mais sous jsp, on ne peut pas appareamment, c'est saoulant de tout reecrire ! Comme d'hab : Comment y remedier?

Pour le reste, je veux me debrouiller tout seul, c'est le but ! J'ai plus qu'une bonne semaine pour finir tout çà. Merci beaucoup de votre aide !

::SCENER FOR LIFE::

1 réponse

JSR2K Messages postés 12 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 6 mars 2007
7 juin 2006 à 09:16
Un petit up, des petites precisions : Pour me passer temporairement du probleme 1, j'utilise un Thread.sleep() pour attendre manuellement que la compilation se finisse.
J'ai ajoute une fonctionnalite au compilateur-online, il envoi directement le fichier à l'utilisateur en fin de compilation. Simplement cela ne m'affiche pas le texte html que j'ai tape avant :s .
Voici le code (tout à la fin de mon precedent code) :
ServletOutputStream stream = null;
    BufferedInputStream buf = null;
    try {

      stream = response.getOutputStream();
      File sendfile = new File(mailFileAttachment);

      //set response headers
      response.setContentType("multipart/x-zip");

      response.addHeader("Content-Disposition", "attachment; filename="
          + mailFileName);

      response.setContentLength((int) sendfile.length());

      FileInputStream input = new FileInputStream(sendfile);
      buf = new BufferedInputStream(input);
      int readBytes = 0;
      //read from the file; write to the ServletOutputStream
      while ((readBytes = buf.read()) != -1)
        stream.write(readBytes);
    } catch (IOException ioe) {
      throw new ServletException(ioe.getMessage());
    } finally {
      if (stream != null)
        stream.close();
      if (buf != null)
        buf.close();
    }
       }

::SCENER FOR LIFE::
0
Rejoignez-nous