J'ai un souci dans la redirection vers ma page JSP à partir de la méthode doPost() de ma servlet.
j'ai inclus dans mon fichier JSP (FicheAbonne.JSP correspondant à la fiche d'un abonné), la ligne suivante :
avec en bas un bouton de type submit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<form action="<%=request.getContextPath()+"/MaServlet"%>" method="post">
Quand je clique sur le bouton, cela déclenche un traitement (tout simple pour le moment) par ma servlet Test dans la méthode doPost() ci-dessous :
Malheureusement le browser génère l'erreur HTTP 404 suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String nom = request.getParameter("txtNom"); System.out.println("Voici le nom récupéré : "+nom); getServletContext().getRequestDispatcher(request.getContextPath()+"/JSP/Abonne.jsp").forward(request,response); }
Abonne.JSP correspond à ma liste des abonnés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part La ressource demandée (/ProjectTest/JSP/Abonne.jsp) n'est pas disponible
Je vois donc bien qu'il ne trouve pas ma page JSP, le chemin me semble pourtant correct et ma fonction doPost() également non ? Mon projet est un projet sous Eclipse avec le plug-in Tomcat. J'ai essayé différents chemins mais rien n'y fait. Mon arborescence est classique :
mon fichier web.xml est pour l'instant le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Projet |---work |---WEB-INF |---classes (mes classes compilées) |---src (mes classes Java) |---lib `---web.xml |---CSS |---Images |---JSFiles `---JSP (mes pages JSP)
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app SYSTEM "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>test</servlet-name> <servlet-class>servlet.Test</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>test</servlet-name> <url-pattern>/MaServlet</url-pattern> </servlet-mapping> </web-app>
PS: je sais ça ressemble beaucoup à mon précédent post mais c'est la dernière étape pour boucler ma boucle d'apprentissage, après promis, je ne vous embête plus.
Partager