Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1608 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Webapps][noob]Portage d'une application java en webapps

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Webapps][noob]Portage d'une application java en webapps

n°1511439
l3eleg
cosmik connection
Posté le 06-02-2007 à 15:55:42  profilanswer
 

Bonjour à tous :)
 
Je travaille actuellement sur le portage d'une application java en webapps
Cette application permet de générer des documents au format pdf, jpeg ... a partir de documents xml. Celle ci fonctionne en ligne de commande.
Mon but serait de faire une page en jsp capable de faire l'équivalent de la ligne de commande (c'est a dire selectionner un fichier xml et un fichier xslt) et de generer les documents correspondants sur le serveur.
Pour cela, j'ai installé tomcat ainsi que le plugin sysdeo pour eclipse.
 
Ma question principale est de savoir s'il est possible de fournir des arguments à une application java à partir d'un jsp ?
Faut il convertir l'application en servlet ? Si oui, quelles sont les pistes à exploiter pour le faire efficacement ?
 
Je vous remercie d'avance pour vos réponses et les pistes que vous pourriez me fournir

mood
Publicité
Posté le 06-02-2007 à 15:55:42  profilanswer
 

n°1511477
brisssou
8-/
Posté le 06-02-2007 à 16:21:19  profilanswer
 

sysdeo ça date de la guerre, passe à WTP, pour commencer.
 
Ensuite, en gros, je suppose qu'il te suffit de faire un page web avec un champ file, et de passer ce file à ta classe de conversion de fichier.
 
note : tu NE veux PAS appeler ton appli java comme en ligne de commandes en lui passant les arguments qui iraient bien.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1511491
l3eleg
cosmik connection
Posté le 06-02-2007 à 16:53:18  profilanswer
 

merci pour ta réponse brisssou
je vais jeter un oeil sur wtp.
 
D'apres ce que tu me dis, il n'est pas nécessaire de réecrire mon application comme un servlet afin de pouvoir l'utiliser c'est bien cela ?
 
Par contre je n'ai pas vraiment compris ta note ^^


Message édité par l3eleg le 06-02-2007 à 17:05:21
n°1511534
l3eleg
cosmik connection
Posté le 06-02-2007 à 18:40:47  profilanswer
 

http://www.imagebeaver.com/files/i/f6c/saf45c8bc2a7e247.jpg
Voila mon package explorer, j'ai ajouté les packages contenant les sources de mon application dans le repertoire WEB-INF/src
J'ai ajouté à l'application les JAR nécessaire à son exécution.
 
j'ai ensuite créer le fichier index.jsp suivant :
 

Code :
  1. // On importe les classes d'antidote.
  2. <%@ page import="antidote.*" %>
  3. <%
  4. // on récupère les paramètres
  5. String XML1=request.getParameter("txtXML" );
  6. String XSL1=request.getParameter("txtXSL" );
  7. if(XML1!=null && XSL1!=null) {
  8. //On lance antidote
  9. Antidote obj = new Antidote(XML1,XSL1);
  10. }
  11. %>


 
XML1 et XSL1 correspondent à deux champs de formulaires qui reçoivent un fichier en argument.
Lorsque j'essaye d'accéder au JSP, tomcat retourne l'erreur suivante :
 

Citation :

cause mère
 
org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP
 
Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /index.jsp
Erreur de servlet générée:
Antidote cannot be resolved to a type
 
Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /index.jsp
Erreur de servlet générée:
Antidote cannot be resolved to a type


 
Je comprends l'erreur mais je n'en comprends pas la cause. Ya t'il une étape à faire ? j'ai cru comprendre que tomcat compilait les fichiers sources contenus dans WEB-INF/src pour les mettre dans WEB-INF/classes, me trompais-je ? :D
 
Une fois de plus, merci pour vos informations.

n°1511544
l3eleg
cosmik connection
Posté le 06-02-2007 à 19:01:15  profilanswer
 

si je procede comme ca, mes sources doivent etre des servlets c'est bien cela ?
si oui, dois je plutot creer un jar de mon application et l'ajouter à la liste des jar exploitables par la webapps ?

n°1511696
brisssou
8-/
Posté le 07-02-2007 à 10:12:50  profilanswer
 

HAAAAAAAAAAAAa !!!
 
on se calme !
 
Alors, déjà, ton import est foireux, tu vois bien dans le package explorer que ton package antidote est vide, donc importer antidote.*, ça importe que dalle.
 
Ensuite, c'est pas une jsp que tu jeux faire, mais une servlet. En fait, tu as une jsp où tu précises tes paramètres, et ton formulaire envoie le tout dans une servlet, où tu traites tes paramètres.
 
Pour finir, par rapport à ma note, en fait, il ne faut pas faire un truc genre Runtime.exec("java tonAppli param1 param2" ), mais extraire la logique métier pour l'appeller plutôt comme une classe normale quoi. Mais tu avais l'air de partir là dessus d'après ton code.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1511771
l3eleg
cosmik connection
Posté le 07-02-2007 à 12:06:58  profilanswer
 

Merci pour tes eclaircissement, je pense que je vois déjà plus ou il faut mettre les pieds maintenant !
Peut etre d'autres questions d'ici la fin de la semaine, la je n'ai pas le temps d'y toucher aujourd'hui ;)

n°1516599
l3eleg
cosmik connection
Posté le 19-02-2007 à 18:35:41  profilanswer
 

rebonjour ^^
j'ai créé une servlet d'upload de fichiers en me basant sur FileUpload de jakarta et sur un source trouvé sur le net, mon probleme : une erreur 404 sur /gestionupload alors que j'ai défini mon web.xml correctement, je crois. J'ai du oublié quelque chose ^^ Faut il définir l'accès au web.xml quelque part dans tomcat ?
 
 
 
le formulaire :

Code :
  1. <%
  2. // on récupère les valeurs nécessaire à l'affichage
  3. String XML1=(String)request.getAttribute("txtXML" );
  4. String XSL1=(String)request.getAttribute("txtXSL" );
  5. %>
  6. <html>
  7. <head>
  8.  <title>Antidote</title>
  9. </head>
  10. <body>
  11.  <center>
  12.   <h2>Antidote</h2>
  13.   <hr>
  14.    <form name="myform" action="/gestionupload" method="post" enctype="multipart/form-data">
  15.         <label for="xml_file">Indiquez le fichier XML à uploader</label><br />
  16.         <input type="file" name="xml_file" id="xml_file" /><br />
  17.         <label for="xsl_file">Indiquez le fichier XSL à uploader</label><br />
  18.         <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
  19.         <input type="file" name="xsl_file" id="xsl_file" /><br />
  20.         <input type="submit" name="submit" value="Envoyer" />
  21.    </form>
  22.   </form>
  23.  </center>
  24. </body>
  25. </html>


Message édité par l3eleg le 20-02-2007 à 09:10:01
n°1516763
l3eleg
cosmik connection
Posté le 20-02-2007 à 09:21:51  profilanswer
 

ca y est j'arrive a contacter la servlet, un simple soucis de syntaxe dans le formulaire ^^
 
par contre, je rencontre l'erreur suivante, malgré toutes les librairies qui vont bien, quelqu'un connait il cette erreur ?
 

Code :
  1. type Rapport d'exception
  2. message
  3. description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
  4. exception
  5. javax.servlet.ServletException: L'exécution de la servlet a lancé une exception
  6. cause mère
  7. java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
  8. org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:179)
  9. org.apache.commons.fileupload.FileUploadBase.createItem(FileUploadBase.java:500)
  10. org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:367)
  11. org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:116)
  12. UploadServlet.doFileWrite(UploadServlet.java:81)
  13. UploadServlet.doGet(UploadServlet.java:48)
  14. UploadServlet.doPost(UploadServlet.java:57)
  15. javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
  16. javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
  17. note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.20.


 
la ligne correspondante :
   items = upload.parseRequest(request);
 
 
Bonne journée à tous !

n°1516801
brisssou
8-/
Posté le 20-02-2007 à 10:01:28  profilanswer
 

ben donc non, y a pas toutes les librairies qui vont bien. cf topic pour débutant et tout ce que vous avez toujours voulu savoir sur le classpath


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
mood
Publicité
Posté le 20-02-2007 à 10:01:28  profilanswer
 

n°1516936
l3eleg
cosmik connection
Posté le 20-02-2007 à 13:18:03  profilanswer
 

ouaip en effet c'est réglé ^^
merci encore !

n°1518623
l3eleg
cosmik connection
Posté le 22-02-2007 à 21:40:37  profilanswer
 

j'ai une autre question a vous soumettre si vous me le permettez,
je suis actuellement en train d'essayer d'afficher un formulaire contenant une liste de lien pointant vers des fichiers, pour ca j'ai créé une classe qui les liste et je l'ai ajoutée à mon jar d'application.
Je fais appel a ses méthodes au sein de mon formulaire jsp, mais ca ne fonctionne pas, ou mal.
 
voici le debut du code :

Code :
  1. <%@ page import="java.io.*, java.util.*, antidote.webadds.FilesFinder" %>
  2. <%
  3. // on récupère les valeurs nécessaire à l'affichage
  4. String XML1=(String)request.getAttribute("xml_file" );
  5. String XSL1=(String)request.getAttribute("xsl_file" );
  6. antidote.webadds.FilesFinder fichiers = new antidote.webadds.FilesFinder("c:/java/softwares/tomcat/webapps/ANTITODE/uploaded/" );
  7. fichiers.sortFilesRec(fichiers.allFiles,"xml",fichiers.Output);
  8. %>


 
et la partie qui me concerne :
quelques précisions : Output est un ArrayList renvoyé par ma classe qui contient la liste des fichiers du type que je souhaite mettre dans le formulaire, je split ensuite la chaine pour n'afficher que le nom du fichier, le probleme que je rencontre est etrange, soit j'ai une erreur 500 à la ligne 32 c'est a dire au <%, soit la page s'affiche mais dans une ancienne version du code ...

Code :
  1. <form name="" action="" method="post">
  2.     <select name="liste_XML">     
  3.     <%
  4.     String Temp;
  5.        String[] Temp_2;
  6.     for(int i=0;i<fichiers.Output.size();i++) {
  7.      Temp=fichiers.Output.get(i).toString();
  8.        Temp_2=Temp.split("\" );
  9.      out.println("<option value=\""+fichiers.Output.get(i)+"\">"+Temp_2[Temp_2.length-1]);
  10.     }
  11.     %>
  12.     </select>
  13.     <select name="liste_XML">     
  14.     <%
  15.     fichiers.sortFilesRec(fichiers.allFiles,"xsl",fichiers.Output);
  16.     for(int i=0;i<fichiers.Output.size();i++) {
  17.      Temp=fichiers.Output.get(i).toString();
  18.        Temp_2=Temp.split("\" );
  19.      out.println("<option value=\""+fichiers.Output.get(i)+"\">"+Temp_2[Temp_2.length-1]);
  20.     }
  21.     %>
  22.     </select>
  23.    </form>


 
 
Une fois de plus je vous remercie de vos pistes, ca me permet vraiment d'avancer a grands pas ^^

n°1519347
l3eleg
cosmik connection
Posté le 24-02-2007 à 13:11:13  profilanswer
 

autant pour moi, j'ai trouvé l'erreur tout seul ^^


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Webapps][noob]Portage d'une application java en webapps

 

Sujets relatifs
java et téléphone portablepb avec formulaire dynamique en HTML/Java
Comment détecter une clé USB en Javaportage bizarre linux-windows
Comment faire du traitement d'image en Java[JAVA] Imprimer un fichier texte
Bloquer le redimensionnement d'un fenetre en JAVA?Introspection d'une application
Programmation navigateur Web : Java/Javascript?Application Windows et bdd MySQL sur internet = SOAP ?
Plus de sujets relatifs à : [Webapps][noob]Portage d'une application java en webapps


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR