JSP->servlet->redirection
Bonjour,
Voila j'ai une page JSP avec un formulaire.
Ce que je voudrais c'est envoyer le formulaire a une servlets qui redirige directement soit vers le formulaire si erreur soit vers une autre page.
Le hic c'est que je sais pas trop comment m'y prendre.
Quand je redirige depuis la servlet ca change pas l'url et j'ai des problemes apres.
Alors si quelqu'un pouvait me donner une piste ou un tutoriel bien expliqué merci.
communication servlet JSP et JSP servlet
Bonjour,
Pour le Servlet vers JSP:
1- la classe suivante est une servlet qui envoie un objet (ArrayList ou String) vers une jsp (qui se trouve dans WEB-INF qui est la racine dans Tomcat comme WWW pour WAMP: easyPHP)
2- la méthode this.getServletContext().getRequestDispatcher permet de rediriger vers la jsp.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class objectExpediteur extends HttpServlet{
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//PrintWriter out = response.getWriter();
String str = new String("kamel");
request.setAttribute("chaine", str);
ArrayList list = new ArrayList();
list.add("aa");
list.add("bb");
list.add("cc");
request.setAttribute("table", list);
//RequestDispatcher rd = this.getServletContext().getRequestDispatcher("/objectRecepteur.jsp");
RequestDispatcher rd = this.getServletContext().getRequestDispatcher("/objectExpediteur.jsp");
rd.forward(request, response);
//response.sendRedirect("http://localhost:8080/objectRecepteur.jsp");
}
} |
Pour JSP vers Servlet: Je vous propose une astuce pour envoyer des objets.. toujours avec les superbes méthode setAttribute() et getAttribute() ...pas mal non?
1- Le principe est de prendre un ArrayList de le transformer en Chaine de caractère en concaténant les mots séparés par des '-' par exemple.
2- L'envoie est simple :Utiser le paramètre de l'URL du formulaire.
Allez voici le code
Olala... désolé mais le code est en cours de construction.. Je vous pries de bien vouloir patienter...Merci
Bon courage...Cordialement
session vs communication servlet jsp
Merci aurelientp,
En effet ça peut vite faire "déborder la mémoire"!
Vaut mieux utiliser l'envoi de paramètres au lieu des sessions qui sont plutot bien pour sécuriser les accès et personnaliser par exemple, notamment les objets, avec la méthode que j'ai cité plus haut!
ça permet:
de séparer les traitements de l'interface.
rajouter facilement des classes java
Modification facile de l'interface
non saturation de la mémoire
réutilisation du code
Vive l'objet!!!
A+
faire passer des objets serialisables
Oui zulot...:yaisse2:
une fois l'objet passé comme paramètre t'es tranquil, plus de session à "trimbaler" dans la mêmoire!
:mouarf: