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

  FORUM HardWare.fr
  Programmation
  Java

  [JSP/servlet] comment ca marche ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JSP/servlet] comment ca marche ?

n°1749480
cannelline
Posté le 20-06-2008 à 17:40:55  profilanswer
 

alors, je fais des pages JSP, j'utilise tomcat et j'aimerais bien utiliser une (ou un) servlet : showImage.java.
 
quand j'ajoute ces lignes dans mon web.xml :
 

Code :
  1. <servlet>
  2.       <servlet-name>showImage</servlet-name>
  3.       <description>
  4.            Display Image
  5.       </description>
  6.       <servlet-class>
  7.            showImage
  8.       </servlet-class>
  9.    </servlet>
  10.    <servlet-mapping>
  11.         <servlet-name>showImage</servlet-name>
  12.         <url-pattern>showImage</url-pattern>
  13.    </servlet-mapping>


 
tomcat me fait une erreur 404 sur mon index.jsp.
Et si je ne les mets pas, tomcat fait une erreur 404 sur showImage.
 
ai-je autre chose a faire pour incorporer ce (cette) servlet a mon projet ?
 
merci de votre aide.

mood
Publicité
Posté le 20-06-2008 à 17:40:55  profilanswer
 

n°1749657
zapan666
Tout est relatif
Posté le 21-06-2008 à 13:40:42  profilanswer
 

Elle est pas dans un package ta servlet ?  
Tomcat se lance bien ? (regarde dans le catalina.out, peut être qu'il n'arrive pas à charger ta servlet)
 
Ta servlet hérite de HttpServlet ? (je ne saisp lus c'est quoi l'interface...)


---------------
my flick r - Just Tab it !
n°1750196
Bidem
Posté le 23-06-2008 à 13:50:10  profilanswer
 

Citation :

Elle est pas dans un package ta servlet ?


+1
 
Tomcat ne peut pas utiliser une servlet si elle n'est pas dans un package.

n°1750668
cannelline
Posté le 24-06-2008 à 14:24:15  profilanswer
 

Alors, j'utilise l'IDE MyEclipse. Et la servlet est dans le default package.
 
Je viens de me rendre compte que MyEclipse ne compilait pas ma classe alors qu'elle est sans erreur. Je ne trouve le .class nulle part.
 
Connaissez-vous cet IDE ?
 
sous Mac, il ne compile pas ma classe et sous Vista il fait plein d'erreurs parce qu'il ne peut pas creer les fichiers dont le nom commence par un point dont il a besoin.
chuis pas sortie de l'auberge  :pfff:  
 
any idea ?

n°1751265
cannelline
Posté le 25-06-2008 à 17:33:27  profilanswer
 

alors, ya du neuf : ma classe se compile (j'ai tout passe sous linux et tout fonctionne comme je veux).
 
Mais maintenant j'ai une erreur 404 lorsque j'appelle le servlet, elle ne doit pas etre definie comme il faut dans le web.xml.
 
j'ai cree un package "display" dans lequel j'ai mis showImage.java.
 
comment lui donner le bon pattern dans le web.xml ?
et dans index.jdp, j'appelle toujours src=<%showImage?id=... ? ou faut-il que je specifie "display" ?

n°1751267
zapan666
Tout est relatif
Posté le 25-06-2008 à 17:36:00  profilanswer
 

Tu reprend ton web.xml mais tu corrige le nom du package dans servlet-class :  
 

Code :
  1. <servlet-class>display.showImage</servlet-class>


 
(et quand tu lance tomcat, regarde les logs pour voir si il a chargé le web.xml correctement ou non)


---------------
my flick r - Just Tab it !
n°1751280
cannelline
Posté le 25-06-2008 à 17:49:54  profilanswer
 

merci beaucoup ! j'accede a ma servlet.

n°1913402
essima
Posté le 10-08-2009 à 12:30:20  profilanswer
 

bonjour,
SVP j'ai besoin de votre aide, je veux envoyer des champs d'un formulaire en jsp à une page java mais qui n'est pas une servlet: la classe à laquelle je veux envoyer est: class test extends MCMSStub implements Runnable, qui n'herite pas de HttpServlet,et puisqu'il nya pas d'héritage multiple en java je veux savoir la solution,merci.

n°1913405
zapan666
Tout est relatif
Posté le 10-08-2009 à 12:32:06  profilanswer
 

design pattern décorateur : tu fais une servlet qui va appeler ta class


---------------
my flick r - Just Tab it !
n°1913416
essima
Posté le 10-08-2009 à 12:57:27  profilanswer
 

merci pour votre réponse, mais je n'ai jamais travaillé avec ce design pattern decorator,je suis débutante en java,si vous pouvez m'éclaircir un peu plus,merci pour votre aide précieuse

mood
Publicité
Posté le 10-08-2009 à 12:57:27  profilanswer
 

n°1913421
essima
Posté le 10-08-2009 à 13:22:44  profilanswer
 

SVP, si vous avez un tutoriel qui peut m'aider,je vous serai très reconnaissante,merci

n°1913423
zapan666
Tout est relatif
Posté le 10-08-2009 à 13:29:32  profilanswer
 

essima a écrit :

merci pour votre réponse, mais je n'ai jamais travaillé avec ce design pattern decorator,je suis débutante en java,si vous pouvez m'éclaircir un peu plus,merci pour votre aide précieuse


meuf  [:vapeur_cochonne]  
ASV  :o  
 
 
Pour de vrai, je ne sais pas si le decorator est vraiment celui qui représente l'idée que je veux exprimer mais basiquement, le truc c'est de faire ça :  
 
 

Code :
  1. class MaServlet extends HttpServlet {
  2.  
  3.  private MCMStub monStub = new MCMStub();
  4.  
  5.  
  6.  public void doGet(HttpRequest request, HttpResponse response) {
  7.  // blabla
  8.  monStub.doSomething();
  9.  // blabla
  10. }
  11.  
  12. }


bref, ta servlet appelle ta class qui n'est pas une servlet.


---------------
my flick r - Just Tab it !
n°1913564
essima
Posté le 10-08-2009 à 16:12:57  profilanswer
 

pardon une autre fois pour le dérangement, mais peut être que je dois mettre :
 private test montest = new test();  
      au lieu de :
 private MCMStub monStub = new MCMStub();
car c'est dans la classe test que je veux trouver les paramétres que j'ai posté dans page.jsp, j'arrive facilement à les trouver dans la servlet, mais nn pas dans ma classe test,une autre question SVP quelle méthode je vais utiliser pour accéder aux valeurs des champs du formulaire dans la classe test,et merci encore pour votre aide.

n°1913577
zapan666
Tout est relatif
Posté le 10-08-2009 à 16:32:56  profilanswer
 

essima a écrit :

pardon une autre fois pour le dérangement, mais peut être que je dois mettre :
 private test montest = new test();  
      au lieu de :
 private MCMStub monStub = new MCMStub();
car c'est dans la classe test que je veux trouver les paramétres que j'ai posté dans page.jsp, j'arrive facilement à les trouver dans la servlet,

C'est une erreur faite pour voir si tu suivais  [:l0ser]  
 

essima a écrit :


 mais nn pas dans ma classe test,une autre question SVP quelle méthode je vais utiliser pour accéder aux valeurs des champs du formulaire dans la classe test,et merci encore pour votre aide.


hum. Il faudra mettre tout ce beau monde dans la response je crois. (je suis vraiment pas sûr, mais naïvement, c'est ce que j'essayerais d'abord)
 
Après, je me rend compte que mettre montest en attribue de la servlet est une mauvaise idée car tout le monde utilisera la même instance de l'objet, et je ne pense pas que ce soit le résultat attendu. Il faudra donc que tu créé une instance pour chaque requête utilisateur.


---------------
my flick r - Just Tab it !
n°1913635
essima
Posté le 10-08-2009 à 17:59:03  profilanswer
 

merci pour votre patience,mais je n'ai pas compris ce que vous m'avez suggérez lors de votre derniere réponse, j'ai deux problémes le premier est comment appeler une classe à partir d'une servlet,le deuxieme est comment arriver à avoir les valeurs des champs du formulaire dans la classe finale qui va etre appeler par la servlet,j'arrive à avoir les champs dans la servlet à l'aide de "request.getParameter",mais je ne sais pas quelle méthode j'utiliserai pour les avoir dans ma classe finale, dois-je utiliser la même méthode comme dans la servlet ou bien il y'en a une autre?si c'est le cas je l'ai utilisé mais ça n'a pas marché,et merci encore.

n°1913642
zapan666
Tout est relatif
Posté le 10-08-2009 à 18:08:28  profilanswer
 

essima a écrit :

merci pour votre patience,mais je n'ai pas compris ce que vous m'avez suggérez lors de votre derniere réponse, j'ai deux problémes le premier est comment appeler une classe à partir d'une servlet,le deuxieme est comment arriver à avoir les valeurs des champs du formulaire dans la classe finale qui va etre appeler par la servlet,j'arrive à avoir les champs dans la servlet à l'aide de "request.getParameter",mais je ne sais pas quelle méthode j'utiliserai pour les avoir dans ma classe finale, dois-je utiliser la même méthode comme dans la servlet ou bien il y'en a une autre?si c'est le cas je l'ai utilisé mais ça n'a pas marché,et merci encore.


1) C'est une problématique de ressources partagés.
 
 

Code :
  1. class MaServlet extends HttpServlet {
  2.  
  3.  private MCMStub monStub = new MCMStub();
  4.  
  5.  
  6.  public void doGet(HttpRequest request, HttpResponse response) {
  7.  // blabla
  8.  monStub.doSomething();
  9.  // blabla
  10. }
  11.  
  12. }


 
monStub va être commun à tout le monde. Donc si le client A modifie l'objet, le client B va avoir la même modif, sans forcement la vouloir.
 

Code :
  1. class MaServlet extends HttpServlet {
  2.  
  3.  
  4.  
  5.  
  6.  public void doGet(HttpRequest request, HttpResponse response) {
  7.  MonStub monStub = new MonStub();
  8.  // blabla
  9.  monStub.doSomething();
  10.  // blabla
  11. }
  12.  
  13. }


Dans ce cas, la ressource est lié a la request, et donc unique pour le client A. Le client B n'aura jamais accès aux modif's du client A.
 
 
Pour avoir accès aux données de ton objet monStub dans ta page, j'aurais essayé de faire ça :  

Code :
  1. public void doGet(....) {
  2.     response.putParameter("monStub", monStub);
  3. }


 
mais je ne suis pas du tout sûr de mon coup...
 
Après, tu peux faire un tour sur Google ("put variable in a JSP context" par exemple) ou sinon sur Google Code Search ( http://www.google.com/codesearch ) qui te permet de chercher dans du code source (recherche un projet qui utilise une servlet par exemple)


---------------
my flick r - Just Tab it !
n°1914156
bugsan
Posté le 11-08-2009 à 20:14:33  profilanswer
 

essima a écrit :

merci pour votre patience,mais je n'ai pas compris ce que vous m'avez suggérez lors de votre derniere réponse, j'ai deux problémes le premier est comment appeler une classe à partir d'une servlet,le deuxieme est comment arriver à avoir les valeurs des champs du formulaire dans la classe finale qui va etre appeler par la servlet,j'arrive à avoir les champs dans la servlet à l'aide de "request.getParameter",mais je ne sais pas quelle méthode j'utiliserai pour les avoir dans ma classe finale, dois-je utiliser la même méthode comme dans la servlet ou bien il y'en a une autre?si c'est le cas je l'ai utilisé mais ça n'a pas marché,et merci encore.


 
On part de loin...  
 
Ce que tu appelles ta classe "finale", c'est le MCMStub ?
Pour y "mettre des paramètres" il suffit d'appeler les méthodes dessus.
 

Code :
  1. String unParam = request.getParameter("unParam" );
  2. monStub.setQuelquechose(unParam);


 
Tu as l'air de ne pas connaitre la structure de l'objet MCMStub j'ai l'impression. Si tu as les sources tu peux voir le nom des méthodes. Sinon avec un éditeur comme éclipse tu les verras.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JSP/servlet] comment ca marche ?

 

Sujets relatifs
[JSP] Mysql image dans blobprogrammation basique sur cygwin qui ne marche pas
[JSP] Remplacement des codes HTMLConseils : optimiser code pour un formulaire JSP
recuperer resultset d'une requete servlet dans une page jsploadMovie pour une image qui marche pas en ligne
[Java/Jsp] Changer valeur d'une zone de saisie ?Echange de fichiers client-servlet
[JSP/Html/JS] Champs obligatoires dans un formulairepourquoi ça marche pas?
Plus de sujets relatifs à : [JSP/servlet] comment ca marche ?


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