Strut & tomcat

Résolu
obscurenuit Messages postés 3 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 22 mai 2007 - 26 avril 2007 à 11:47
obscurenuit Messages postés 3 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 22 mai 2007 - 22 mai 2007 à 16:46
Bonjour,

je travaille sur une plate forme web :

en gros c'est un logiciel de planification des réseaux wifi.

le principe : un client fait son plan en local sur sa machine et l'envoi à un serveur dedié de calcul pour calculer et optimiser la propagation :

pour les tests : j'ai dépolyé cette application sur tomcat : les premières étapes s'effectuent sans aucun problème : je crée le user, il s'authentifie , il a accès à l'application, il crée son projet sans aucun soucis avec toutes les options présentes , après il doit uploider  le plan pour l'envoyer au serveur , le plan qui est un fichier xml , et c'est là ou tout s'arrete et il me sort l'erreur ci dessous

c'est quoi son problème à votre avis , car ça fait 3 jours que je bloque sur ça ...!
Merci 

PS: j'utilise les struts !

Etat HTTP 500 -

type Rapport d'exception

message

description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

exception

javax.servlet.ServletException: L'exécution de la servlet a lancé une exception

cause mère

java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
    org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:179)
    org.apache.commons.fileupload.FileUploadBase.createItem(FileUploadBase.java:500)
    org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:367)
    org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:116)
    web.controler.ManagingServlet.addPlan(ManagingServlet.java:511)
    web.controler.ManagingServlet.doGet(ManagingServlet.java:161)
    web.controler.ManagingServlet.doPost(ManagingServlet.java:118)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

5 réponses

cs_keishi Messages postés 12 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 26 avril 2007
26 avril 2007 à 12:48
Je ne suis pô expert, mais là, comme ça, à froid, je pense que ton servlet tente d'utiliser une classe qu'il ne trouve pas:
org/apache/commons/io/output/DeferredFileOutputStream
as-tu vérifié tes classpath?
est-ce que tu as tous les import nécessaires?
est-ce que tu as essayé en forçant dans ton source un import org.apache.commons.io.output.*;

Maintenant, je ne bidouille pô sous tomcat, mais, n'y aurait-il pô un problème de droit d'accès ou truc du genre (apache et/ou tomcat)?
3
obscurenuit Messages postés 3 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 22 mai 2007
26 avril 2007 à 12:58
c'est ce que je me disais, mais en fait c'été plus facile que ça :

il manquais juste le jar common-io à ajouter dans le répértoire : web-inf/lib

alors la le projet à avancer un peu :

l'erreur actuelle qu'il me renvoi est ci-dessous.
d'après l'erreur ,on peut dire que c'est un problème de mèmoire : qu'il n'a pas la mèmoire suffusante du coup il point sur :null , mais non c'est pas ça en fait .

a votre avis ??

merci


actionPlans
up is : update
ref is : null
java.lang.NullPointerException
at web.controler.ManagingServlet.actionPlans(ManagingServlet.java:895)
at web.controler.ManagingServlet.doGet(ManagingServlet.java:177)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
3
cs_keishi Messages postés 12 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 26 avril 2007
26 avril 2007 à 19:51
java.lang.NullPointerException ...
Je l'ai déjà eu celle là... et si j'ai pô trop mauvaise mémoire, c'est que tu dois essayer d'atteindre une valeur qui n'existe pas, tel que :
valeur dans un tableau pô rempli, ou vecteur vide ou truc du genre.
Je ne suis pô sûr d'être clair. Un p'tit bout de code vaut mieux qu'un long discours :
{
Vector vect = new Vector();
int lastOne = vect.size();
peutImporte dontCare = vect.get(lastOne); /* ou vect.getAtIndex(lastOne) j'ai un doute */
}
Je n'ai pô de machine java sous la main pour tester, mais je pense que ça doit planter là, à vérifier.
3
cs_keishi Messages postés 12 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 26 avril 2007
26 avril 2007 à 20:11
Voilà, c'est testé!
le code (complet) :

import java.util.Vector;

public class Test {
    public static void main(String[] args) {
        Vector vect = null;
        int lastOne = vect.size();
        System.out.println(vect.get(lastOne ));
    }

}

Ca se compile sans aucun soucis, mais à l'execution, on obtient :
Exception in thread "main" java.lang.NullPointerException
    at Test.main(Test.java:7)
Le soucis vient de la ligne "rouge".

Par contre, si je la remplace par :
Vector vect = new Vector();

On obtient un bon vieux :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
    at java.util.Vector.get(Vector.java:709)
    at Test.main(Test.java:8)

En espérant t'avoir aidé
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
obscurenuit Messages postés 3 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 22 mai 2007
22 mai 2007 à 16:46
dsl pr le retard mais merci bcppp
0
Rejoignez-nous