Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1679 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JSP] Class not found !

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[JSP] Class not found !

n°215444
mog
KUPO !
Posté le 17-09-2002 à 10:09:43  profilanswer
 

Quelle est l'arborescence à respecter pour dans le répertoire web-apps ?
 

web-apps/monprojet/ -> index.html
web-apps/monprojet/jsp -> *.jsp
web-apps/monprojet/WEB-INF/classes -> *.java *.class


 
Je me suis basé sur l'exemple fournis avec tomcat et si dans un de mes fichier jsp je fait appel à une de mes classes, j'ai droit à cette erreur:
 

/var/tomcat4/work/Standalone/localhost/tracemq/tracemq$jsp.java:3: Class RequestHandler not found in import.
import RequestHandler;    


 
Même en mettant les *.class dans le même répertoire que le .jsp, ça ne marche pas.
Quel est le soucis ?
 

CLASS_PATH=.:/opt/j2sdk1.4.0_01/lib

pout user tomcat4


Message édité par mog le 17-09-2002 à 10:11:36
mood
Publicité
Posté le 17-09-2002 à 10:09:43  profilanswer
 

n°215466
darklord
You're welcome
Posté le 17-09-2002 à 10:52:41  profilanswer
 

donne un package à ta classe bordayl. C'est tout le temps la même rengaine. Tomcat ne sais pas importer des classes sont dans le package par défaut (à savoir pas de package du tout)


---------------
Just because you feel good does not make you right
n°215470
darklord
You're welcome
Posté le 17-09-2002 à 10:53:39  profilanswer
 

ceci dit tu peux parfaitement mixer les JSP avec les pages HTML (suivant config de ton serveur mais normallement tu ne devrais pas les mettre dans un rep spécial ou dédié)


---------------
Just because you feel good does not make you right
n°215473
lorill
Posté le 17-09-2002 à 10:55:53  profilanswer
 

DarkLord a écrit a écrit :

donne un package à ta classe bordayl. C'est tout le temps la même rengaine. Tomcat ne sais pas importer des classes sont dans le package par défaut (à savoir pas de package du tout)




Si il peut. Je l'ai deja fait, même si cai mal. Faut juste le mettre quand meme dans le import="..." de la jsp.

n°215481
darklord
You're welcome
Posté le 17-09-2002 à 11:00:38  profilanswer
 

nan y peut pas. Une servlet ca va mais un bean ou un objet utilisé dans une JSP tu peux pas  :na:  
 
(du moins avec les versions de tomcat que j'ai utilisé, ça a peut etre changé depuis la dernière version)


---------------
Just because you feel good does not make you right
n°215482
lorill
Posté le 17-09-2002 à 11:02:01  profilanswer
 

DarkLord a écrit a écrit :

nan y peut pas. Une servlet ca va mais un bean ou un objet utilisé dans une JSP tu peux pas  :na:  
 
(du moins avec les versions de tomcat que j'ai utilisé, ça a peut etre changé depuis la dernière version)




Si il peut !
Mais c'est vrai que j'ai pas essayé en 3.x. Ou alors j'ai pas fait expres.

n°215484
mog
KUPO !
Posté le 17-09-2002 à 11:03:03  profilanswer
 

C'était dans un package, j'ai changé car je croyais que ça venais de là.
Je viens de remettre "comme y faut" et ça change rien:
 

/var/tomcat4/work/Standalone/localhost/tracemq/tracemq$jsp.java:3: Class Tracemq.RequestHandler not found in import.
import Tracemq.RequestHandler;


 
avec les fichier suivants:
/web-apps/tracemq/WEB-INF/classes/RequestHandler.java
 

package Tracemq;
public class RequestHandler {
    private String localService;
    public RequestHandler() {  
        localService = null;
    }
    public void setLocalService(String ls) {
        localService = ls;
    }  
    public String getLocalService() {  
        return localService;
    }
}


 
/web-apps/tracemq/tracemq.jsp
 

<%@ page language="java"%>
<%@ page import="Tracemq.RequestHandler" %>
 
<jsp:useBean id="reqBean" scope="page" class="Tracemq.RequestHandler" />
<jsp:setProperty name="reqBean" property="*" />
 
<html>
<body>
<%@ include file="coucou.html" %>
</body>
</html>


n°215486
mog
KUPO !
Posté le 17-09-2002 à 11:04:24  profilanswer
 

DarkLord a écrit a écrit :

ceci dit tu peux parfaitement mixer les JSP avec les pages HTML (suivant config de ton serveur mais normallement tu ne devrais pas les mettre dans un rep spécial ou dédié)




 
C'est juste pour que ce soit plus propre:
Le html "pur" dans un coin, les jsp avec la logique dans l'autre.

n°215488
lorill
Posté le 17-09-2002 à 11:04:52  profilanswer
 

Mog a écrit a écrit :

 
avec les fichier suivants:
/web-apps/tracemq/WEB-INF/classes/RequestHandler.java
 

Code :
  1. package Tracemq;
  2. public class RequestHandler {
  3. ...
  4. }






 
Oh putain !
Tu te rends compte de ce que tu viens d'écrire ?

n°215490
benou
Posté le 17-09-2002 à 11:06:06  profilanswer
 

pa de majuscule dans le nom des package !

mood
Publicité
Posté le 17-09-2002 à 11:06:06  profilanswer
 

n°215491
mog
KUPO !
Posté le 17-09-2002 à 11:06:11  profilanswer
 

Euh ... a voir le ton utilisé, j'ai dû faire un couille !

n°215492
mog
KUPO !
Posté le 17-09-2002 à 11:08:48  profilanswer
 

En tout cas, ça change rien !

n°215493
lorill
Posté le 17-09-2002 à 11:09:14  profilanswer
 

benou a écrit a écrit :

pa de majuscule dans le nom des package !




Encore que ca c'est une convention, c'est pas ca qui fait que ca marche pas.

n°215496
lorill
Posté le 17-09-2002 à 11:09:51  profilanswer
 

Mog a écrit a écrit :

Euh ... a voir le ton utilisé, j'ai dû faire un couille !




Oui. Dans l'arborescence des fichiers faut respecter l'arborescence des paquets...

n°215498
benou
Posté le 17-09-2002 à 11:11:32  profilanswer
 

Mog a écrit a écrit :

En tout cas, ça change rien !




oui mais faut pas

n°215499
lorill
Posté le 17-09-2002 à 11:12:10  profilanswer
 

DarkLord<  
 
/WEB-INF/classes/Toto.class

Code :
  1. public class Toto
  2. {
  3.     public static String getMessage()
  4.     {
  5.         return "toto";
  6.     }
  7. }


 
/toto.jsp

Code :
  1. <%@ page import="Toto" %>
  2. <%= Toto.getMessage() %>


 
et ca marche très bien (Tomcat 4.03, j2sdk1.4.0)

n°215501
benou
Posté le 17-09-2002 à 11:13:05  profilanswer
 

allez, essaye comme ca :  

/web-apps/tracemq/WEB-INF/classes/[#e21c00]tracemq/[/#e21c00]RequestHandler.java


Code :
  1. package tracemq;
  2. public class RequestHandler {
  3. ...
  4. }


Message édité par benou le 17-09-2002 à 11:13:13
n°215505
mog
KUPO !
Posté le 17-09-2002 à 11:18:17  profilanswer
 

/var/tomcat4/work/Standalone/localhost/tracemq/toto$jsp.java:3: Class Toto not found in import.
import Toto;


 
Je dois avoir un pb de config du server !

n°215506
benou
Posté le 17-09-2002 à 11:20:27  profilanswer
 

Mog a écrit a écrit :

/var/tomcat4/work/Standalone/localhost/tracemq/toto$jsp.java:3: Class Toto not found in import.
import Toto;


 
Je dois avoir un pb de config du server !




ou bien tu dois pas savoir faire un package ...

n°215507
lorill
Posté le 17-09-2002 à 11:21:24  profilanswer
 

Mog a écrit a écrit :

/var/tomcat4/work/Standalone/localhost/tracemq/toto$jsp.java:3: Class Toto not found in import.
import Toto;


 
Je dois avoir un pb de config du server !




 
C'est quoi ca ? T'as repris mon truc ? C'était juste pour montrer a darklord... La la classe est dans le repertoire tracemq mais pas dans le paquet si c'est ce que je crois. Reprends le truc de benou plutot.

n°215514
mog
KUPO !
Posté le 17-09-2002 à 11:28:53  profilanswer
 

Pour récapituler:
 

.:
server.xml
toto.jsp
tracemq.jsp
WEB-INF
 
./WEB-INF:
classes
 
./WEB-INF/classes:
Toto.class
Toto.java
tracemq
 
./WEB-INF/classes/tracemq:
RequestHandler.class
RequestHandler.java


 
tracemq.jsp

<%@ page language="java"%>
<%@ page import="tracemq.RequestHandler" %>
 
<jsp:useBean id="reqBean" scope="page" class="tracemq.RequestHandler" />
<jsp:setProperty name="reqBean" property="*" />
 
<html>
<body>
<%@ include file="coucou.html" %>
</body>
</html>


 
RequestHandler.java

package tracemq;
public class RequestHandler {
    private String localService;
    public RequestHandler() {  
        localService = null;
    }
    public void setLocalService(String ls) {
        localService = ls;
    }    
    public String getLocalService() {  
        return localService;
    }
}


 
Et ça marche toujours pas ! Y'a rien à configurer dans server.xml ? (à part ajouter un nouveau context tracemq)

n°215517
darklord
You're welcome
Posté le 17-09-2002 à 11:30:22  profilanswer
 

Mog a écrit a écrit :

C'était dans un package, j'ai changé car je croyais que ça venais de là.
Je viens de remettre "comme y faut" et ça change rien:
 

/var/tomcat4/work/Standalone/localhost/tracemq/tracemq$jsp.java:3: Class Tracemq.RequestHandler not found in import.
import Tracemq.RequestHandler;


 
avec les fichier suivants:
/web-apps/tracemq/WEB-INF/classes/RequestHandler.java
 




 
bin c'est normal. Déjà classes c'est pour les .class, pas pour les point Java. Et de deux il va avoir du mal à compiler ta classe meme si il pouvait puisque tu l'as mis dans le package par défaut, or la source le déclare dans le pacakge tracemq.
 
Donc tu dois compiler et mettre le .class dans
 
/web-apps/tracemq/WEB-INF/classes/tracemq/RequestHandler.class


---------------
Just because you feel good does not make you right
n°215519
darklord
You're welcome
Posté le 17-09-2002 à 11:31:15  profilanswer
 

lorill a écrit a écrit :

DarkLord<  
 
/WEB-INF/classes/Toto.class

Code :
  1. public class Toto
  2. {
  3.     public static String getMessage()
  4.     {
  5.         return "toto";
  6.     }
  7. }


 
/toto.jsp

Code :
  1. <%@ page import="Toto" %>
  2. <%= Toto.getMessage() %>


 
et ca marche très bien (Tomcat 4.03, j2sdk1.4.0)




 
Essaie d'en faire un bean avec <jsp:useBean ....


---------------
Just because you feel good does not make you right
n°215523
mog
KUPO !
Posté le 17-09-2002 à 11:34:49  profilanswer
 

<%@ page import="Toto" %>
<jsp:useBean id="totoBean" scope="page" class="Toto" />
<jsp:setProperty name="totoBean" property="*" />


 
Toto not found  :cry:  

n°215525
darklord
You're welcome
Posté le 17-09-2002 à 11:36:06  profilanswer
 

ca s'addressait à lorill pas à toi. Déjà qu'il trouve pas la classse chez toi c'est normal que useBean ne fonctionne pas non plus.
 
Ceci dit que raconte les logs de ton tomcat?


---------------
Just because you feel good does not make you right
n°215528
mog
KUPO !
Posté le 17-09-2002 à 11:41:23  profilanswer
 

Toujours la même chose:
 

org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
 
/var/tomcat4/work/Standalone/localhost/tracemq/toto$jsp.java:3: Class Toto not found in import.
import Toto;
       ^
1 error, 1 warning
 
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:285)
        at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:548)
        at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:176)
        at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:188)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
        at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
        at java.lang.Thread.run(Thread.java:536)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
        at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
        at java.lang.Thread.run(Thread.java:536)
 
~

n°215529
darklord
You're welcome
Posté le 17-09-2002 à 11:42:17  profilanswer
 

toi tu as un vieux JDK qui trane dans ton path
 
en ligne de commande fais un peu
 

Code :
  1. java -version


Message édité par darklord le 17-09-2002 à 11:42:40

---------------
Just because you feel good does not make you right
n°215531
mog
KUPO !
Posté le 17-09-2002 à 11:45:56  profilanswer
 

ben non:
 

java -version
java version "1.4.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_01-b03)
Java HotSpot(TM) Client VM (build 1.4.0_01-b03, mixed mode)

n°215534
R3g
fonctionnaire certifié ITIL
Posté le 17-09-2002 à 11:47:18  profilanswer
 

Mais heu, ta classe, y faudrait pas la compiler avant ? Et redémarrer Tomcat ensuite ?


---------------
Au royaume des sourds, les borgnes sont sourds.
n°215546
mog
KUPO !
Posté le 17-09-2002 à 12:02:41  profilanswer
 

R3g a écrit a écrit :

Mais heu, ta classe, y faudrait pas la compiler avant ? Et redémarrer Tomcat ensuite ?




AAARARRARRARRRAGGGGG c'était ça, faut le redémmarrer à chaque fois !  :gun:  
 
Merci beaucoup, je m'en vais me flageller avec des orties frais en courant nu dans les champs.


Message édité par mog le 17-09-2002 à 12:02:57
n°215551
R3g
fonctionnaire certifié ITIL
Posté le 17-09-2002 à 12:09:09  profilanswer
 

:D


---------------
Au royaume des sourds, les borgnes sont sourds.
n°215553
darklord
You're welcome
Posté le 17-09-2002 à 12:14:18  profilanswer
 

Mog a écrit a écrit :

ben non:
 

java -version
java version "1.4.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_01-b03)
Java HotSpot(TM) Client VM (build 1.4.0_01-b03, mixed mode)






 
Vade retro satanas il a JDK 1.4 :D


---------------
Just because you feel good does not make you right
n°215554
darklord
You're welcome
Posté le 17-09-2002 à 12:14:38  profilanswer
 

lorill j'attends le useBean ...


---------------
Just because you feel good does not make you right
n°215564
lorill
Posté le 17-09-2002 à 12:33:09  profilanswer
 

DarkLord a écrit a écrit :

lorill j'attends le useBean ...




Désolé j'étais parti manger... Mais tu vas être deçu, ca marche aussi (alors que ca j'en étais pas sur)
 
/WEB-INF/classes/Toto.class

Code :
  1. public class Toto
  2. {
  3.     public Toto()
  4.     {
  5.     }
  6.    
  7.     public String getMessage()
  8.     {
  9.         return "toto";
  10.     }
  11. }


 
/toto.jsp

Code :
  1. <%@ page import="Toto" %>
  2. <jsp:useBean id="totoBean" scope="page" class="Toto" />
  3. <jsp:getProperty name="totoBean" property="message" />


 
Et ca marche. tadaaaaa  :D

n°215566
HappyHarry
Posté le 17-09-2002 à 12:34:12  profilanswer
 

pour ne pas avoir a redemarrer trop souvent, un ptit reloadable=true dans la section correspondante a ta webapp dans le fichier de conf de tomcat ca peut aider
attention cependant, ca marche pas a tous les coups je crois

n°215572
darklord
You're welcome
Posté le 17-09-2002 à 12:40:36  profilanswer
 

lorill a écrit a écrit :

 
Et ca marche. tadaaaaa  :D  




 
[:sisicaivrai]
 
note tant mieux mais bon ...


---------------
Just because you feel good does not make you right
n°215573
lorill
Posté le 17-09-2002 à 12:41:54  profilanswer
 

DarkLord a écrit a écrit :

 
 
[:sisicaivrai]
 
note tant mieux mais bon ...




 
T'inquiete, je sais que c'est pas terrible, j'aime bien avoir des espaces de noms relativements propres.

n°215588
--greg--
Posté le 17-09-2002 à 12:58:39  profilanswer
 

pq ce topic n'est pas dans la categorie java?
c'est inadmissable :fou:
que fait le modo :fou:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°215589
darklord
You're welcome
Posté le 17-09-2002 à 12:58:54  profilanswer
 

ouais  :o


---------------
Just because you feel good does not make you right
n°215590
darklord
You're welcome
Posté le 17-09-2002 à 12:59:01  profilanswer
 

a mort antp!


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JSP] Class not found !

 

Sujets relatifs
[eclipse] où trouver un plugin éditeur de JSP ?Comment reloader en mémoire des Class
chagement de class sur mouseover [ - job's done - ][PostgreSQL] pg_statistic not found [pas possible de restaurer] !!!!!
[JAVA] Quel soft pour lire un fichier .class ?IntelliJ Idea, comment on change les Class Template ?
[JSP Custom Tags] Quel outil pour la doc ?[JAVA/JSP]
A propos des inner class, et des inner class statiquestruc de fou : j'ai fait une class qui fait monter mon CPU à 90° !
Plus de sujets relatifs à : [JSP] Class not found !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR