je dois developper des servlets/JSP
A priori tout devrait fonctionner (enfin en théorie ) mais ce ]~#^@~de tomcat 5.5 ne trouve pas une de mes classes JAVA si je l'instancie à partir d'une page JSP (problème de classpath je suppose)
vlà la page :
<%@ page language="Java" import="java.util.*" %> <% // on récupère les paramètres //Collection<PersonsList.PersonInfo> col_pi_personsList= (Collection<PersonsList.PersonInfo>)request.getAttribute("col_pi_personsList"); Collection col_pi_personsList= (Collection)request.getAttribute("col_pi_personsList"); %><html> <head><title>Test de fichier HTML</title> <style> * { font-family:verdana ; font-size:xx-small; } body { padding:15px; width:300px; } </style> </head> <body> <h2>Résultat :</h2> <ul> <% /*for ( PersonsList.PersonInfo pi : col_pi_personsList ) out.println("<li>"+pi.getFirstName()+" "+pi.getLastName()+"</li>") ;*/ for ( Iterator i= col_pi_personsList.iterator() ; i.hasNext() ; ) { PersonsList.PersonInfo pi= (PersonsList.PersonInfo)i.next() ; out.println("<li>"+pi.getFirstName()+" "+pi.getLastName()+"</li>") ; } %> </ul> </body> </html>
déjà on remarque que les nouvelles features du J2SE 5 ne semblent pas supportées (bon ça encore c'est pas un drame)
mais surtout il ne trouve pas la classe PersonsList :
org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP Une erreur s'est produite à la ligne: 17 dans le fichier jsp: /personsList.jsp Erreur de servlet générée: PersonsList cannot be resolved or is not a type Une erreur s'est produite à la ligne: 17 dans le fichier jsp: /personsList.jsp Erreur de servlet générée: PersonsList cannot be resolved 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:397) org.apache.jasper.compiler.Compiler.compile(Compiler.java:288) org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) PersonsList.doGet(PersonsList.java:71) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.9.
j'ai alors affiché le clasPath :
<%@ page language="Java" import="java.util.*" %> <html> <head><title>Test de fichier HTML</title> <style> * { font-family:verdana ; font-size:xx-small; } body { padding:15px; width:300px; } </style> </head> <body> <%=System.getProperties().getProperty("java.class.path")%> </body> </html>
ce qui renvoit ceci :
<html> <head><title>Test de fichier HTML</title> <style> * { font-family:verdana ; font-size:xx-small; } body { padding:15px; width:300px; } </style> </head> <body> C:\Program Files\Apache Software Foundation\Tomcat 5.5\bin\bootstrap.jar </body> </html>
=> J'ai alors ajouté
%CATALINA_HOME%\webapps\jmonvill\WEB-INF\classes
c'est à dire
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\jmonvill\WEB-INF\classes
dans mon CLASSPATH
Mes classes *.class :
/cygdrive/c/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/jmonvill/WEB-INF/classes $ ls -1 ConnMySQL$CantConnect2MySQLServException.class ConnMySQL.class PersonsList$PersonInfo.class PersonsList.class
mais le JSP d'affichage de classpath retourne exactement la même chose qu'avant...
bref, je ne comprend pas, je ne sais pas comment faire, sniff, sniff