Redirection de jsp selon choix de boutons radio [Résolu]

zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 6 août 2010 à 11:58 - Dernière réponse : johnjjj 120 Messages postés dimanche 4 avril 2010Date d'inscription 24 septembre 2012 Dernière intervention
- 18 août 2010 à 03:41
Salut,
J’ai une jsp que je vais appeler index.jsp dans laquelle je sélectionne via des boutons radio. Le résultat est envoyé vers une servlet GestionServlet qui en fonction du bouton radio redirige soit vers une page ajref.jsp soit une autre ajproj.jsp soit vers une jsp supref.jsp . Juste là je n’arrive pas à faire la redirection vers l'une de ces pages jsp.
Je pense que le problème est dans le fichier web.xml mais je n’arrive pas à le concevoir.
<servlet>
<servlet-name>FirstForm</servlet-name>
<servlet-class>Index</servlet-class>
</servlet>

<servlet>
<servlet-name>FormAction</servlet-name>
<servlet-class> GestionServlet </servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>FirstForm</servlet-name>
/form
</servlet-mapping>
<servlet-mapping>
<servlet-name>FirstForm</servlet-name>
/
</servlet-mapping>
<servlet-mapping>
<servlet-name>FirstForm</servlet-name>
/
</servlet-mapping>


<servlet-mapping>
<servlet-name>FormAction</servlet-name>
*.do
</servlet-mapping>

Je serai reconnaissante si vous me dirigiez vers la bonne voie. Vraiment j’ai besoin de votre aide et c’est un stage que je suis censé le terminer.
Merci d’avance.
Afficher la suite 

28 réponses

Répondre au sujet
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 9 août 2010 à 19:00
+3
Utile
Salut,

Une erreur 404 indique que le serveur ne trouve pas la ressource à l'url saisie : une page html, une jsp, ou... une servlet.

Donc si ta servlet n'est pas déployée sur le serveur, il ne pourra pas la trouver.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_DARKSIDIOUS
johnjjj 120 Messages postés dimanche 4 avril 2010Date d'inscription 24 septembre 2012 Dernière intervention - 9 août 2010 à 21:22
+3
Utile
bonjour
404 c'est code erreur de protocole http
ca vous dire page n'existe
test le serveur es que demarre
et

je croix erreur existe au niveau de index.jsp

code de index


<form name="frml" action="GestionServlet" method="POST">
ajref
ajproj

supref


</form>


********NB ne maittre pas dans action="GestionServlet.java"
mettre action="GestionServlet"




pour code de servlet


if (request.getParameter("jsp").equals("ajref"))
request.getRequestDispatcher("ajref.jsp").forward(request, response);

else if(request.getParameter("jsp").equals("ajproj"))
request.getRequestDispatcher("ajproj.jsp").forward(request, response);

else
request.getRequestDispatcher("supref.jsp").forward(request, response);

*****il faut créer les page ajref.jsp et ajproj.jsp et supref.jsp

cordialement
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de johnjjj
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 6 août 2010 à 12:13
0
Utile
Salut,

C'est pas normal que tu ai autant de servlet FirstForm déclarée : une seule suffit (la première).

Sinon, apparemment tu utilises struts à la vue de ta dernière servlet déclarée. Et en struts, tu n'a pas besoin de faire d'autres servlet, juste paramétrer le fichier struts-config.xml pour définir tes actions. C'est dans ce fichier là que tu peux définir les redirections de tes ActionBean.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 6 août 2010 à 12:33
0
Utile
je vous remercie d'abord pour votre réponse,

En effet le mapping de la servlet j'ai mis 3 fois la servlet FirstForm mais c'est ce que j'ai trouvé dans un tutoriel que j'ai lu et que j'ai pas compris( c'est pour ça que j'ai posé le problème en discussion). Mais pour votre réponse je la essayé mais ça marche pas de même.(est ce que vous pouvez me corrigez)
ensuite en ce qui concerne struts et l'utilisation du fichier struts-config.xml pour définir les actions je pense qu'elle est plus compliquée que celle-ci c'est pour cela que j'ai pas penser à l'utiliser.

merci.
Commenter la réponse de zahira87
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 6 août 2010 à 13:19
0
Utile
Salut,

Struts est un framework qui permet de simplifier largement le développement J2EE, et fait gagner pas mal de temps. Par contre, c'est sûr qu'il faut passer un peu de temps pour l'étudier et le maîtriser, mais en même temps, les stages en entreprises sont là pour cà, et ca te sera d'une grande utilité dans ton futur métier : les développements utilisant struts comme framework principal sont assez nombreux.

Si tu ne veux pas l'utiliser, libre à toi, mais alors enlève-le de ton fichier web.xml : c'est source d'erreurs et de confusion.

Ce qui te donnerai donc :
<servlet> 
<servlet-name>FirstForm</servlet-name> 
<servlet-class>Index</servlet-class> 
</servlet> 

<servlet> 
<servlet-name>FormAction</servlet-name> 
<servlet-class> GestionServlet </servlet-class> 
</servlet> 

<servlet-mapping> 
<servlet-name>FirstForm</servlet-name> 
/form 
</servlet-mapping> 


ça marche pas de même.


Qu'est-ce qui ne marche pas ? Quel est ton code java dans ta servlet pour faire la redirection vers la jsp que tu veux ?

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 6 août 2010 à 15:57
0
Utile
Salut,
Je vous remercie encore une fois pour votre réponse.
votre conseil est très util dans la mesure où je vais le prendre en sérieux et je vais travailler la dessus. j'ai peur de Struts car je l'ai déjà utilisé dans un mini-projet mais ça était un peu difficile. Est ce que vous pouvez me proposer des tutoriels pour que je puisse m'approfondir dans ce framework .
pour le code de la servlet le voilà :

public class GestionServlet extends HttpServlet  {
   
 public void doPost(	HttpServletRequest request, 
HttpServletResponse response)
throws IOException, ServletException{
 


try {	if (request.getParameter("nom").equals("ajref"))
request.getRequestDispatcher("ajref.jsp").forward(request, response);

else if(request.getParameter("nom").equals("ajproj"))
request.getRequestDispatcher("ajproj.jsp").forward(request, response);

else 
request.getRequestDispatcher("supref.jsp").forward(request, response);}
catch(Exception e){
request.getRequestDispatcher("error.jsp").forward(request, response);

}
}	 
}


pour la servlet Index

public class Index extends HttpServlet  {
  
 
public void doGet(HttpServletRequest request, 
             HttpServletResponse response) 
           throws ServletException, IOException {

request.getRequestDispatcher("index.jsp").forward(request, response);
}  	   	  	    
}
Commenter la réponse de zahira87
zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 6 août 2010 à 15:59
0
Utile
voilà les boutons radios dans la page index.jsp



 


et merci.
Commenter la réponse de zahira87
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 6 août 2010 à 15:59
0
Utile
Salut,

Je peux te conseiller les tutoriaux du site developpez.com : il y en a certains qui sont ciblés sur struts, c'est avec eux que j'ai commencé à apprendre struts.

Struts n'est pas très compliqué et ca permet de respecter le modèle MVC, chose qu'il n'est pas forcément évident en utilisant J2EE sans framework.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 6 août 2010 à 16:04
0
Utile
merci,d'accord je vais les lire.
et pour le code que j'ai envoyé?
Commenter la réponse de zahira87
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 6 août 2010 à 16:38
0
Utile
Salut,

Essaye plutôt ainsi :

public class GestionServlet extends HttpServlet  {
   
 public void doPost(	HttpServletRequest request, 
HttpServletResponse response)
throws IOException, ServletException{
 


try {	if (request.getParameter("nom").equals("ajref"))
getServletContext().getRequestDispatcher("ajref.jsp").forward(request, response);

else if(request.getParameter("nom").equals("ajproj"))
getServletContext().getRequestDispatcher("ajproj.jsp").forward(request, response);

else 
getServletContext().getRequestDispatcher("supref.jsp").forward(request, response);}
catch(Exception e){
getServletContext().getRequestDispatcher("error.jsp").forward(request, response);

}
}	 
}


Et vérifie le chemin d'accès à tes jsp : il faut préciser le chemin complet vers chaque page.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 6 août 2010 à 17:40
0
Utile
merci,
mais, malheureusement j'ai pas pu le fonctionner même en utilisant ce code et en
donnant le chemin correcte pour chaque jsp. je sais pas où peut être le problème?
Commenter la réponse de zahira87
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 6 août 2010 à 17:49
0
Utile
Salut,

Mets un point d'arrêt dans le code pour voir s'il passe bien dans ta servlet.

Quel est l'erreur que tu as ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 7 août 2010 à 01:35
0
Utile
Salut,
Je m'excuse pour le retard. pour l'utilisation du point d'arrêt, lorsque je fais debug as ou run as de la servlet GestionServlet j'ai toujours le même message d'erreur " Http 404 La ressource demandée n'est pas disponible".
Et lorsque je fais run as de la page index.jsp ensuite je fais le choix et je valide j'ai rien ni message d'erreur ni le traitement demandé!!

je sais pas quoi faire maintenant???

je vous remercie pour votre aide.
Commenter la réponse de zahira87
zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 9 août 2010 à 18:24
0
Utile
salut à tous, aidez moi S.V.P ?
Commenter la réponse de zahira87
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 9 août 2010 à 18:36
0
Utile
Salut,

Est-ce que ta servlet est bien déployé sur le serveur d'application lorsque tu teste ? Est-ce que ton serveur est lancé ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 9 août 2010 à 18:52
0
Utile
salut,
j'ai pas bien compris votre première question,e
pour la deuxième chaque fois que je fais run as on server
le serveur restart.
merci d'avance.
Commenter la réponse de zahira87
zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 11 août 2010 à 12:59
0
Utile
Je vous remercie tous, spécialement DARKSIDIOUS vous m'avez dirigé.
merci aussi à johnjjj vous avez raison, j'avais quelques rectifications dans la page index.jsp mais aussi dans la GestionServlet j'ai ajouté un "/" pour chaque page jsp et ça marche maintenant.
comme ceci :

request.getRequestDispatcher("/ajref.jsp").forward(request, response); 


même si j'ai un autre problème dans le même sujet lorsque je fais la redirection vers une des trois pages jsp il y a des traitements à faire:les formulaires qui vont être remplit je vais récupérer leur données pour les insérer dans des tables dans la base de données aprés je vais me dirigé vers une jsp globale où j'ai toutes les données que j'ai saisie dans ces tables.

je me demande comment je vais dire tout cela à une servlet et au web.xml.

si je dois marqué cette discussion résolu et j'ouvre une autre. dites le moi!

et merci beaucoup..
Commenter la réponse de zahira87
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 11 août 2010 à 13:06
0
Utile
Salut,

Pas besoin de réouvrir un autre topic : c'est la suite de celui-ci (à peu près le même genre de problème).

Tu as plusieurs solutions :
* soit faire une servlet par redirection (ca a l'avantage de pouvoir être appelé par n'importe quel page si jamais tu as besoin de refaire ce traîtement à un autre endroit de ton application). Et ainsi, au lieu de rediriger vers la page jsp, il te faudra rediriger vers la servlet.
* soit mettre le code de chargement dans ta servlet actuelle (pas très propre, et surtout, ce n'est pas très judicieux d'avoir une servlet qui fait plusieurs choses)
* soit faire une classe qui se chargera de charger les données dans la requête, et d'appeler la classe qu'il faut dans ta servlet courante.

Je pense que la première solution est la plus standard et la plus élégante.

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 11 août 2010 à 13:33
0
Utile
merci beaucoup je vais essayer de faire la première méthode et je vais vous répondre,

merci beaucoup pour tout.
Commenter la réponse de zahira87
zahira87 16 Messages postés dimanche 28 février 2010Date d'inscription 18 août 2010 Dernière intervention - 16 août 2010 à 12:35
0
Utile
Bonjour,

Alors, j'ai opté pour la première méthode, j'ai essayé de la faire, mais j'ai rencontré des problème toujours au niveau de la redirection. et toujours je sais pas quoi faire avec le web.xml. le voilà :
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>rk</display-name>
<servlet>

<servlet-name>FirstForm</servlet-name>
<servlet-class>sim.Index</servlet-class>
</servlet>
<servlet>
<servlet-name>FirstForm1</servlet-name>
<servlet-class>sim.Ref</servlet-class>
</servlet>
<servlet>
<servlet-name>SecondForm</servlet-name>
<servlet-class>sim.Proj</servlet-class>
</servlet>
<servlet>
<servlet-name>TirdForm</servlet-name>
<servlet-class>sim.Sup</servlet-class>
</servlet>
<servlet>

<servlet-name>FinalForm</servlet-name>
<servlet-class>sim.Vue</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FirstForm</servlet-name>
/form
</servlet-mapping>
<servlet-mapping>
<servlet-name>FirstForm1</servlet-name>
/
</servlet-mapping>
<servlet-mapping>
<servlet-name>SecondForm</servlet-name>
/
</servlet-mapping>
<servlet-mapping>
<servlet-name>TirdForm</servlet-name>
/
</servlet-mapping>
<servlet-mapping>
<servlet-name>FinalForm</servlet-name>
*.do
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>



merci de m'aider.
Commenter la réponse de zahira87

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

redirection de jsp selon choix de boutons radio - page 2