erreur sur une page JSP

erreur sur une page JSP - Java - Programmation

Marsh Posté le 05-05-2004 à 12:01:25    


 
J'essaye de réliser une page JSP allant chercher des informations dans une base de données Oracle et les affichant ensuite. Mais j'obtiens comme erreur :
 
 

Code :
  1. org.apache.jasper.JasperException: Unable to compile class for JSP
  2. An error occurred at line: 41 in the jsp file: /error.jsp
  3. Generated servlet error:
  4.     [javac] Compiling 1 source file
  5. (...)
  6. An error occurred at line: 46 in the jsp file: /error.jsp
  7. Generated servlet error:
  8. E:\ecplise\eclipse\workspace\debugjsp\org\apache\jsp\error_jsp.java:121: cannot resolve symbol
  9. symbol  : class DobqPlanning
  10. location: class org.apache.jsp.error_jsp
  11.       out.print(((DobqPlanning)lesPlannings[3][i]).getCal());
  12.                   ^
  13. 7 errors
  14. at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
  15. at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
  16. at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:340)
  17. at org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
  18. at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:474)
  19. at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:184)
  20. at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
  21. at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
  22. at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
  23. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
  24. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
  25. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
  26. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
  27. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
  28. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  29. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  30. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
  31. at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:550)
  32. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
  33. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
  34. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  35. at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
  36. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
  37. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
  38. at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
  39. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
  40. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
  41. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
  42. at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
  43. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
  44. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
  45. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  46. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
  47. at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
  48. at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
  49. at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
  50. at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
  51. at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
  52. at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
  53. at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
  54. at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
  55. at java.lang.Thread.run(Thread.java:536)


 
Et ma page jsp contient le code suivant:  
 
 

Code :
  1. <%@page import="camaieu.intranetEssai.src.dataobject.DobqPlanning.java"%>
  2. <%
  3. wg4.fwk.dataobject.DataObject[][] lesPlannings = (wg4.fwk.dataobject.DataObject[][])request.getAttribute("planning" );
  4. %>
  5. <html>
  6. (..)
  7. <p align="center" class="bla117b"><a href="AfficherPlanningAction.do">Visualiser les plannings</a><br>
  8. (...)
  9.   <%
  10.   for (int i = 0; i <lesPlannings[0].length; i++){
  11.            %>
  12.   <tr onmouseover="this.bgColor='#FFFFCC';" onmouseout="this.bgColor='';">
  13.     <td width="7" ></td>
  14.     <td align="center" ><a href="AfficherCashunitAction.do?idCash=<%=((DobqPlanning)lesPlannings[0][i]).getPlaSrvCpu()%>"></a></td>
  15.     <td align="center"><%=((DobqPlanning)lesPlannings[1][i]).getPlaCode()%></td>
  16.     <td align="center"><%=((DobqPlanning)lesPlannings[2][i]).getPlaHor()%></td>
  17.     <td align="center"><%=((DobqPlanning)lesPlannings[9][i]).getPlaUntil()%></td>
  18.     <td align="center"><%=((DobqPlanning)lesPlannings[7][i]).getPlaCf()%></td>
  19.     <td align="center"><%=((DobqPlanning)lesPlannings[3][i]).getCal()%></td>
  20.    
  21. (...)


 

Reply

Marsh Posté le 05-05-2004 à 12:01:25   

Reply

Marsh Posté le 05-05-2004 à 12:32:30    

Citation :

import="camaieu.intranetEssai.src.dataobject.DobqPlanning.java"


:/

Reply

Marsh Posté le 05-05-2004 à 12:33:23    

Essaie sans le .java dans ton import...  

Code :
  1. :
  2. <%@page import="camaieu.intranetEssai.src.dataobject.DobqPlanning"%>

Reply

Marsh Posté le 05-05-2004 à 12:33:54    

[:benou_grilled] ! :o

Reply

Marsh Posté le 05-05-2004 à 13:04:07    

Ca ne change rien

Reply

Marsh Posté le 05-05-2004 à 13:06:27    

t'en est sur de ton import là ? parce que un package avec "src" dedans, ca me parait louche ...

Reply

Marsh Posté le 05-05-2004 à 13:07:19    

pitié quoi [:kiki]


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

Marsh Posté le 05-05-2004 à 13:12:08    

non je n'étais pas sur en fait src est le répertoire mais emem en ne le mettant pas ca ne change rien j'ai toujour mon erreur

Reply

Marsh Posté le 05-05-2004 à 13:44:11    

Et avec seulement ça :
 
<%@page import="dataobject.DobqPlanning"%>

Reply

Marsh Posté le 05-05-2004 à 13:47:13    

toujours pareil

Reply

Marsh Posté le 05-05-2004 à 13:47:13   

Reply

Marsh Posté le 05-05-2004 à 13:54:40    

A mon avis regarde bien si tu as toutes les classes dans WEB-INF\classes
et toutes les librairies dans WEB-INF\lib.
 

  • Si c'est une classe que tu as écrite, regarde ce que tu as mis dans la clause package.
  • Si c'est une classe d'une librairie (jar) regarde le javadoc pour voir dans quel package se trouve la classe


et mets-le dans le import de @page

Reply

Marsh Posté le 05-05-2004 à 13:56:28    

Pour les librairies je pense que c'est bon mais je n'ai aucune clesses dans WEB-INF\classes

Reply

Marsh Posté le 05-05-2004 à 14:02:18    

Je compile sous eclipse mais je ne peux pas compiler ou plutot il refuse de compiler DobqPlanning.java car il n'y a pas de main

Reply

Marsh Posté le 05-05-2004 à 14:02:36    

[citation=716141,0,12][nom]...mais je n'ai aucune clesses dans WEB-INF\classes
[/citation]
 
deux solutions :
 

  • tu n'as pas écrit de classe(s) et c'est normal
  • tu as écrit des classes java et là tu dois les mettre dans WEB-INF\classes

Reply

Marsh Posté le 05-05-2004 à 14:04:47    

pour mon Do... je le crée automatiquement à partir d'eclipse

Reply

Marsh Posté le 05-05-2004 à 14:08:15    

Qu'est-ce que tu appelles "créé automatiquement depuis eclipse"

Reply

Marsh Posté le 05-05-2004 à 14:11:06    

sous eclipse j'ai dans les perspectives SaltoDb. Ensuite il me suffit de me connecter à ma base et de choisir ma table sur laquelle je veux créer un DataObject et Eclipse me crée automatiquement mon dataObject

Reply

Marsh Posté le 05-05-2004 à 14:15:11    

Oki !!!
 
Cette classe générée, tu peux en voir le code source ?
 
si oui, regarde la clause "package".

Reply

Marsh Posté le 05-05-2004 à 14:20:37    

La clause package était fausse mais j'ai comme erreur

Code :
  1. E:\ecplise\eclipse\workspace\debugjsp\org\apache\jsp\error_jsp.java:7: package dataobject does not exist
  2. import dataobject.DobqPlanning;
  3.                   ^
  4. E:\ecplise\eclipse\workspace\debugjsp\org\apache\jsp\error_jsp.java:104: cannot resolve symbol
  5. symbol  : class DobqPlanning
  6. location: class org.apache.jsp.error_jsp
  7.       out.print(((DobqPlanning)lesPlannings[0][i]).getPlaSrvCpu());
  8.                   ^

Reply

Marsh Posté le 05-05-2004 à 14:29:01    

J'ai bien vérifié toute mes clauses package et elles sont bonnes

Reply

Marsh Posté le 05-05-2004 à 14:32:46    

A quelle arborescence de packages DobqPlanning appartient ? dataobject en est la racine ?

Reply

Marsh Posté le 05-05-2004 à 14:37:55    

Le nom de mon projet est intranetEssai, il contient un répertoire src dans lequel est mon package dataobject qui contient DobqPlanning

Reply

Marsh Posté le 05-05-2004 à 14:41:47    

lapartdombre a écrit :

Le nom de mon projet est intranetEssai, il contient un répertoire src dans lequel est mon package dataobject qui contient DobqPlanning


 
Et bien sur tu as paramétré eclipse pour que les sources soient dans
intranetEssai\src et pas seulement intranetEssai.
 
Si c'est le cas le package de ta classe devrait être : dataobject.DobqPlanning

Reply

Marsh Posté le 05-05-2004 à 14:45:22    

oui je sais
 
Je ne comprend pas pourquoi il me fait une erreur sur le package

Reply

Marsh Posté le 05-05-2004 à 14:45:56    

Je cite ton code

Code :
  1. wg4.fwk.dataobject.DataObject[][] lesPlannings = (wg4.fwk.dataobject.DataObject[][])request.getAttribute("planning" );


l'arborescence de packages ne serait pas plutot wg4.fwk.dataobject.DobqPlanning ?

Reply

Marsh Posté le 05-05-2004 à 14:49:12    

j'ai repris l'exemple sur un fichier qui avait déjà été créer et j'ai juste modifié le nom du projet

Reply

Marsh Posté le 05-05-2004 à 14:51:32    

wg4.fwk.dataobject doit correspondre à une librairie et non un package

Reply

Marsh Posté le 05-05-2004 à 14:56:25    

lapartdombre a écrit :

wg4.fwk.dataobject doit correspondre à une librairie et non un package


 

  • wg4.fwk.dataobject.DataObject est une classe.
  • wg4.fwk.dataobject est son package.


et cette classe doit se trouver dans un jar que tu dois surement mettre dans WEB-INF\lib ...et redémarrer tomcat ou recharger le contexte depuis le manager de tomcat (je t'avais montré comment faire).

Reply

Marsh Posté le 05-05-2004 à 15:03:07    

J'ai bien un jar jwk dans mon répertoire  WEB-INF\lib  j'ai bien arrété et redémarrer tomcat mais toujours l'erreur
 

Code :
  1. org.apache.jasper.JasperException: Unable to compile class for JSP
  2. An error occurred at line: 41 in the jsp file: /error.jsp
  3. Generated servlet error:
  4.     [javac] Compiling 1 source file
  5. E:\ecplise\eclipse\workspace\debugjsp\org\apache\jsp\error_jsp.java:7: package camaieu.intranetEssai.dataobject does not exist
  6. import camaieu.intranetEssai.dataobject.*;
  7. ^
  8. E:\ecplise\eclipse\workspace\debugjsp\org\apache\jsp\error_jsp.java:104: cannot resolve symbol
  9. symbol  : class DobqPlanning
  10. location: class org.apache.jsp.error_jsp
  11.       out.print(((DobqPlanning)lesPlannings[0][i]).getPlaSrvCpu());
  12.                   ^

Reply

Marsh Posté le 05-05-2004 à 15:08:25    

L'erreur est sur : import camaieu.intranetEssai.dataobject.*;
 
tu remarquera que l'import inclue le nom de ton projet : c'est pas normal.
ça devrait être :

Code :
  1. import dataobject.*;


Message édité par pascal34 le 05-05-2004 à 15:09:25
Reply

Marsh Posté le 05-05-2004 à 15:10:33    

En fait le nom de mon package est camaieu.intranetEssai.dataobject en entier

Reply

Marsh Posté le 05-05-2004 à 15:11:34    

meme si je met que import dataobject.*; cela ne change rien

Reply

Marsh Posté le 05-05-2004 à 15:15:56    

pitié quoi [:kiki] ²

Reply

Marsh Posté le 05-05-2004 à 15:16:27    

lapartdombre a écrit :

meme si je met que import dataobject.*; cela ne change rien


 
Ca ne change rien du tout (toujours l'erreur sur import camaieu.intranetEssai.dataobject.*;) ou l'erreur porte sur  
import dataobject.*; maintenant.
 


Message édité par pascal34 le 05-05-2004 à 15:18:50
Reply

Marsh Posté le 05-05-2004 à 15:16:56    

pourquoi pitié.... je suis juste débutante et j'essaye de réaliser mon programme tout en respectant certaine exigence de ma boite

Reply

Marsh Posté le 05-05-2004 à 15:17:24    

Et il n'y a qu'en faisant des erreurs et en comprenant ses erreurs qu'on peut progresser

Reply

Marsh Posté le 05-05-2004 à 15:18:58    

En première page j'ai ma page d'accueil et celle ci passe bien mais elle ne réalise aucun affichage particulier mais comment je peux savoir si le paramétrage de tomcat est bon

Reply

Marsh Posté le 05-05-2004 à 15:20:08    

DarkLord,
 
Si tu ne supportes pas nos échanges tu es libre de ne plus lire ce topic.
 :o

Reply

Marsh Posté le 05-05-2004 à 15:20:14    

Est ce que si tomcat était mal configuré j'arriverai quand meme à avoir ma page d'accueil avec l'url
 
http://localhost:8080/intranetEssai/login.jsp

Reply

Marsh Posté le 05-05-2004 à 15:23:11    

lapartdombre a écrit :

Est ce que si tomcat était mal configuré j'arriverai quand meme à avoir ma page d'accueil avec l'url
 
http://localhost:8080/intranetEssai/login.jsp


 
Exact, donc c'est une classe qui n'est pas à sa place.
Vérifie que WEB-INF\classes contient un répertoire 'dataobject' qui contient DobqPlanning.class.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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