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

(enfin c'est quand même un problème de java
)
des scriplets
(enfin peut etre que quand on a l'habitude c'est bien mais bon..)
vraiment)
#blasé#
, c'est une lacune de faire du JDBC sans connaitre PreparedStatement (même si je suppose que ce n'était pas ton but premier)
)