Définition des paramètres dans les jsp et les servlets
Dans mon application web , je reçois une demande de la part du client. J'ai procédé de la demande dans ma page jsp ou la servlet(qui est toujours appelé) et que vous souhaitez transférer à d'autres jsp ou des servlets en conséquence.
Mais avant de les transmettre, je veux régler quelques paramètres et ensuite de l'avant avec ces nouveaux paramètres. Les anciens paramètres ne doivent pas être présents lors de la transmission. Seuls les nouveaux paramètres doivent être présents. Comment cela peut-il être fait?
Puis-je partir d'une servlet pour jsp et vice-versa?
S'il vous plaît dites comment le ci-dessus peut être accompli?
- Vous avez laissé une condition très importante de votre question: vous avez besoin de "en avant" vers un nouveau domaine (voir le commentaire sur Rakesh réponse).
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser demande répartiteur et rediriger selon votre besoin et exigence.
ou
sendRedirect() envoie l'en-tête en arrière pour le navigateur , qui contient le nom de la ressource pour être redirigé vers. Ce sera donc un nouvelle demande à la ressource à partir du navigateur .
forward() l'action prend place dans le serveur à l'insu de l'navigateur .
oui, vous pouvez transférer le paramètre servlet aux jsp et servlet jsp pour.
lorsque vous pouvez définir l'attribut de requête, alors il sera perdu sur la destination.signifie que vous ne pouvez pas accéder que sur la troisième ressource.
vous pouvez faire la même chose en session aussi.
Si vous n'avez pas utiliser pour les paramètres de la requête et de votre jsp/servlet n'a pas écrit quoi que ce soit pour la réponse, alors je suppose qu'il serait bien d'utiliser la redirection au lieu d'avancer, depuis la redirection va rejeter la demande, ainsi que les paramètres.
Lorsque vous faites de redirection, vous pouvez créer de manière dynamique et de l'ensemble de la chaîne de requête comme ceci:
Prendre note que ce sera une méthode GET à l'url. Si l'url est résolu à une servlet, vous pouvez mettre en œuvre la méthode doGet de simplement appeler le doPost.
Veuillez noter qu'une redirection sera ignoré si la jsp/servlet a écrit quelque chose de déjà sur la réponse...
Vous devez transmettre aux JSP/Servlet utilisant RequestDisptcher. Définir l'attribut de la demande sur la demande de définir les paramètres à l'aide de
Transmises JSP peut lire le paramètre à l'aide de
Mais, Vous
cannot hide the attribute existing before forward by default
. Vous pouvez atteindre cet objectif en utilisant la Demande de Wrapper. Envelopper la demande avant de la transmettre remplacer le set et get attribut méthodes.Code ci-dessous explique
Voici le code de wrapper de mise en œuvre:
utilisation
Après la définition des attributs, obtenir le RequestDispatcher à l'aide de
et ensuite utiliser forward() méthode