Maison  >  Article  >  Java  >  Quelle est la différence entre le transfert et la redirection SpringMVC ?

Quelle est la différence entre le transfert et la redirection SpringMVC ?

零下一度
零下一度original
2017-06-28 10:13:371818parcourir

Dans les servlets, le transfert et la redirection s'effectuent par demande et réponse. Veuillez consulter mon article précédent pour connaître la différence entre les deux. Alors, comment ça se passe dans springMVC ?

/**Avant**/

@RequestMapping("/login.do")

Public String login (demande HttpServletRequest, réponse HttpServletResponse){

request.setAttribute("message", "hello");

return "forward:/index.do"; //forward peut obtenir la valeur du message après le saut

}

index.do est un autre chemin, qui est la valeur dans RequestMapping.

@RequestMapping("/index.do")

index de chaîne public (requête HttpServletRequest, réponse HttpServletResponse){

retour "bienvenue";

}

/**Réorienter**/

@RequestMapping("/logout.do")

public String déconnexion (demande HttpServletRequest, réponse HttpServletResponse){

request.setAttribute("message", "hello");

return "redirect:/register.do"; //la redirection ne peut pas obtenir la valeur du message après le saut

>

register.do est un autre chemin, qui est la valeur dans RequestMapping.

@RequestMapping("/register.do")

registre de chaîne public (requête HttpServletRequest, réponse HttpServletResponse){

retour "register";

>

De plus, l'URL de la barre d'adresse ne changera pas après le saut vers l'avant mais changera avec la redirection

Lorsque nous utilisons la redirection, tous les paramètres passés à la page en arrière-plan sont perdus sauf s'ils sont placés dans la séance. Il existe donc une solution dans springMVC comme suit :

@RequestMapping("/update.do")

public String update( RedirectAttributes redirectAttributes) {

redirectAttributes.addFlashAttribute( " message", "Opération réussie");

return "redirect:/admin/user";

}

Dans la page redirigée, vous pouvez obtenir la valeur du message , c'est parce que le printemps met le message dans la session.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn