[Debutant] Redirection Servlet -> JSP
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 :
Code:
1 2
|
<form action="<%=request.getContextPath()+"/MaServlet"%>" method="post"> |
avec en bas un bouton de type submit.
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 :
Code:
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);
} |
Malheureusement le browser génère l'erreur HTTP 404 suivante :
Code:
La ressource demandée (/ProjectTest/JSP/Abonne.jsp) n'est pas disponible
Abonne.JSP correspond à ma liste des abonnés.
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 :
Code:
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) |
mon fichier web.xml est pour l'instant le suivant :
Code:
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> |
Merci d'avance.
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.