Problème entre jsp et bean impossible de trouver la classe
Bonjour à tous,
Voila je débute dans les JSP, et je n'arrive pas à inclure un bean dans un jsp avec :
Code:
1 2
|
<jsp:useBean id='v' scope='page' class='Voiture' /> |
l'erreur retourné est :
Citation:
exception
org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP
Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /scope.jsp
Erreur de servlet générée:
Voiture cannot be resolved to a type
Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /scope.jsp
Erreur de servlet générée:
Voiture cannot be resolved to a type
Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /scope.jsp
Erreur de servlet générée:
Voiture cannot be resolved to a type
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
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: /scope.jsp
Erreur de servlet générée:
Voiture cannot be resolved to a type
Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /scope.jsp
Erreur de servlet générée:
Voiture cannot be resolved to a type
Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /scope.jsp
Erreur de servlet générée:
Voiture cannot be resolved to a type
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Au préalable j'ai :
1) Créer un répertoire WEB-INF/classes dans mon dossier qui contient l'application.
2) Ajouter a la variable d'environnement CLASSPATH le chemin de mon répertoire de classe.
Mais rien a faire ca ne marche pas, j'ai également lue que le fichier web.xml n'était pas à modifier pour utiliser des beans dans des jsp.
Comme ca ne marche pas depuis un moment j'ai aussi tester quelque chose de nouveau aujourd'hui.
Je me suis dis que peut etre le problème venait de ma version de tomcat et de la version jsp/servlet que j'utilisais.
Sachant que lorsqu'on installe tomcat on a des exemples de jsp utilisant des beans et voyant que ceci marche très bien, j'ai décider de recompiler un .java afin de vérifier si cela marcherait encore après et oui cela fonctionne ce qui veut dire que le problème ne vient pas de la.
Plus étrange :
Ici se trouve les exemples installé automatiquement par tomcat : C:\tomcat-server-5.5.20\webapps\jsp-examples
Lorsque je test ces exemples il fonctionne sans probleme, par exemple le jsp-exemple 'date' situé dans C:\tomcat-server-5.5.20\webapps\jsp-examples\dates
contient ca (Je n'ai laissé que la ligne importante):
Code:
1 2 3 4 5
|
<body bgcolor="white">
<jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar" />
</body>
</html> |
Lorsque je le modifie ainsi et que je test le dates.jsp il n'y a aucun probleme, en effet le répertoire :
C:\tomcat-server-5.5.20\webapps\jsp-examples\WEB-INF\classes\dates
contient bien un package nommé : JspCalendar avec une classe date à l'intérieur.
Donc ce que je décide de faire est de mettre une classe Voiture dans ce répertoire et de créer un .jsp dans (C:\tomcat-server-5.5.20\webapps\jsp-examples\) qui appel cette classe comme ca :
Code:
1 2 3 4 5 6
|
<HTML>
<BODY>
<jsp:useBean id='v' scope='page' class='Voiture' />
</BODY>
</HTML> |
(De la meme manière que dates quoi...)
Et je me retrouve avec l'erreur cité tout en haut...
Je n'ai pas trouvé d'aide sur le net, j'ai cherché sur le forum et j'ai trouvé une personne qui avait le meme probleme mais pas de solution ne lui a été proposé. Ca fait un ptit moment que je bloque la dessus alors que ce n'est surement rien...
Merci pour l'aide !