[JAVA] Pb de configuration du ClassPath de TomCat 4.0..

Pb de configuration du ClassPath de TomCat 4.0.. [JAVA] - Programmation

Marsh Posté le 10-03-2002 à 23:11:03    

Voilà..j'viens de faire un JSP, j'exècute, TomCat accepte bien mon fichier mais j'ai le droit à ce message :
Erreur lors du chargement du pilote : java.lang.ClassNotFoundException: interbase.interclient.Driver
 
Je me rappelle donc de ce que m'a dit benou et je cherches à modifier le ClassPath, je fouille dans les fichiers de config de TomCat et ils en parlent dans le fichier web.xml
Je l'ai modifié en prenant exemple sur la variable logVerbosityLevel :
(en gras ce que j'ai rajouté)

Code :
  1. <servlet>
  2.     <servlet-name>jsp</servlet-name>
  3.     <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
  4.     <init-param>
  5.       <param-name>logVerbosityLevel</param-name>
  6.       <param-value>WARNING</param-value>
  7.       <param-name>classpath</param-name>
  8.       <param-value>".;D:\Program Files\Borland\InterClient\interclient.jar"</param-value>
  9.     </init-param>
  10.     <load-on-startup>3</load-on-startup>
  11.   </servlet>


 
mais ça marche pas, voilà ce que j'ai au lancement de TomCat :
 

Code :
  1. Starting service Tomcat-Standalone
  2. Apache Tomcat/4.0.3
  3. PARSE error at line 141 column 18
  4. org.xml.sax.SAXParseException: The content of element type "init-param" must mat
  5. ch "(param-name,param-value,description?)".
  6. PARSE error at line 141 column 18
  7. org.xml.sax.SAXParseException: The content of element type "init-param" must mat
  8. ch "(param-name,param-value,description?)".
  9. PARSE error at line 141 column 18
  10. org.xml.sax.SAXParseException: The content of element type "init-param" must mat
  11. ch "(param-name,param-value,description?)".
  12. PARSE error at line 141 column 18
  13. org.xml.sax.SAXParseException: The content of element type "init-param" must mat
  14. ch "(param-name,param-value,description?)".
  15. PARSE error at line 141 column 18
  16. org.xml.sax.SAXParseException: The content of element type "init-param" must mat
  17. ch "(param-name,param-value,description?)".
  18. Starting service Tomcat-Apache
  19. Apache Tomcat/4.0.3


 
De quelle façon je dois définir le classpath pour que mon scriplet trouve le driver Interbase ?

 

[jfdsdjhfuetppo]--Message édité par *Syl*--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 10-03-2002 à 23:11:03   

Reply

Marsh Posté le 10-03-2002 à 23:54:25    

J'viens de trouver, fallais mettre  
 

Code :
  1. <servlet>
  2.     <servlet-name>jsp</servlet-name>
  3.     <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
  4.     <init-param>
  5.       <param-name>logVerbosityLevel</param-name>
  6.       <param-value>WARNING</param-value>
  7.     </init-param>
  8.     <init-param>
  9.       <param-name>classpath</param-name>
  10.       <param-value>".;D:\Program Files\Borland\InterClient\interclient.jar"</param-value>
  11.     </init-param>
  12.     <load-on-startup>3</load-on-startup>
  13.   </servlet>


 
pour plus avoir d'erreurs au démarrage de TomCat mais le pb est tjrs là, j'ai tjrs l'erreur :
Erreur lors du chargement du pilote : java.lang.ClassNotFoundException: interbase.interclient.Driver
 
Fais chier !  :(

 

[jfdsdjhfuetppo]--Message édité par *Syl*--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 11-03-2002 à 00:10:33    

fais une servlet  :)

Reply

Marsh Posté le 11-03-2002 à 00:12:50    

jamais fait de JSP, mais pour les servlet tu dois mettre ton jar dans un rep lib dans le rep WEB-INF pour pouvoir charger une classe par Class.forname

Reply

Marsh Posté le 11-03-2002 à 08:37:37    

HappyHarry a écrit a écrit :

jamais fait de JSP, mais pour les servlet tu dois mettre ton jar dans un rep lib dans le rep WEB-INF pour pouvoir charger une classe par Class.forname  




 
comme le dit Happharryn tu mets simplement les jars dont tu as besoin dans %tomcat%\tonApp\WEB-INF\lib. Tous les jar de ce rep seront ajouté au classpath lors du chargement de l'application.
Et ca devrait marcher tout seul !  
 
remarque : le Class.forname() n'est util que pour les effets de bord du chargement de certaines classes, comme l'enregistrement des drivers jdbc ... En pratique, tu ne dois rien changer à ta classe (si elle marchait déjà)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 11-03-2002 à 09:21:59    

by the way, le fichier web.xml n'est absoulmenet pas utilisé pour définir un classpath !!!!


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 11-03-2002 à 12:39:31    

Merci !!! Ça marche !
Je sais pas si j'aurais trouvé tout seul, hier soir Google a pas été très coopératif pour m'aider à trouver cette réponse :D
 
J'ai une p'tite question :
si je fais un out.println("toto" ); 2 fois de suite, IE m'affiche totototo et moi je voudrais que toto s'affiche sur 2 lignes..Je pensais que la fonction println faisait le passage à la ligne automatiquement contrairement à la fonction print() ? Vous pouvez éclairer ma lanterne ? parce que en ce moment je fais out.println("toto <BR>" ); et ça fais pas très classe..
 
Merci pour votre aide  :hello:

Reply

Marsh Posté le 11-03-2002 à 13:50:00    

:??:  
 
Balance un peu le code de la méthode qui fait ca pour voir...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 11-03-2002 à 13:53:20    

Code :
  1. // Chargement du pilote JDBC
  2.    Class.forName("interbase.interclient.Driver" );
  3.  out.println("Pilote chargé" );
  4.    // Connexion
  5.    Connection con = DriverManager.getConnection("jdbc:interbase://loc
  6. alhost/d:/db/collec.gdb","SYSDBA","masterkey"
  7. );
  8.  out.println("Connexion établie" );


 
résultat ==> "Pilote chargé Connexion établie "

Reply

Marsh Posté le 11-03-2002 à 13:54:37    

Et le source généré..C'est bizarre que là y'a un passage à la ligne ?
<html>
<head>
</head>
<body>
 
 
Pilote chargé
Connexion établie
 
</body>
</html>

Reply

Marsh Posté le 11-03-2002 à 13:54:37   

Reply

Marsh Posté le 11-03-2002 à 14:04:16    

ca c'est le servlet engine qui a généré le code pour toi ... Tu te connectes en SYSDBA ?
 
t'es fou toi :D


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 11-03-2002 à 14:06:09    

et non ce n'estp pas bizarre. Mais bon le protocole HTML est comme ca. Si tu veux passer à la ligne, il te faut écrire un <BR>
 
J2EE est donc cohérent, si tu fais out.println("<HTML>" ) il va écrire <HTML> et passer à la ligne dans le fichier HTML générée.
 
Lorsque tu fais du code HTML à la main tu ajoutes <BR> pour passer à la ligne. Pq ce serait différent parce que tu fais ca via une servlet ?
 
A+
 
PS : by the way, une servlet n'est pas vraiment fait pour renvoyer du HTML, utilise plutot une JSP (meme si sur de petits projets ca peut se justifier)
 
A+


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 11-03-2002 à 14:08:16    

DarkLord a écrit a écrit :

ca c'est le servlet engine qui a généré le code pour toi ... Tu te connectes en SYSDBA ?
 
t'es fou toi :D  




C'est rien que pour les tests, j'ai pas encore défini d'users  :)

Reply

Marsh Posté le 11-03-2002 à 21:38:13    

Citation :

comme le dit Happharryn tu mets simplement


 
et ben vala, pour une fois que je poste un truc intelligent, on ecorche mon nick ...comment voulez-vous que je passe a la postérité !
 
 :cry:

 

[jfdsdjhfuetppo]--Message édité par HappyHarry--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 11-03-2002 à 22:27:10    

HappyHarry a écrit a écrit :

Citation :

comme le dit Happharryn tu mets simplement


 
et ben vala, pour une fois que je poste un truc intelligent, on ecorche mon nick ...comment voulez-vous que je passe a la prospérité !
 
 :cry:  




:D désolé HappyHarry  (c'est bon là ??? :) )


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 11-03-2002 à 22:36:23    

[:yaisse]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed