Heim  >  Artikel  >  Java  >  Was ist der Unterschied zwischen SpringMVC-Weiterleitung und -Umleitung?

Was ist der Unterschied zwischen SpringMVC-Weiterleitung und -Umleitung?

零下一度
零下一度Original
2017-06-28 10:13:371770Durchsuche

In Servlets werden Weiterleitung und Umleitung durch Anfrage und Antwort abgeschlossen. Bitte lesen Sie meinen vorherigen Artikel für den Unterschied zwischen den beiden. Wie wird das in springMVC gemacht?

/**Nach vorne**/

@RequestMapping("/login.do")

public String login(HttpServletRequest request,HttpServletResponse Response){

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

return "forward:/index.do"; //forward kann den Nachrichtenwert nach dem Sprung erhalten

}

index.do ist ein weiterer Pfad, der der Wert in RequestMapping ist.

@RequestMapping("/index.do")

public String index(HttpServletRequest request,HttpServletResponse Response){

return „welcome“;

}

/**Umleiten**/

@RequestMapping("/logout.do")

public String logout(HttpServletRequest request,HttpServletResponse Response){

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

return "redirect:/register.do"; //redirect kann den Nachrichtenwert nach dem Sprung nicht abrufen

}

register.do ist ein weiterer Pfad, der der Wert in RequestMapping ist.

@RequestMapping("/register.do")

public String register(HttpServletRequest request,HttpServletResponse Response){

return "register";

}

Außerdem ändert sich die URL der Adressleiste nach dem Vorwärtssprung nicht, ändert sich jedoch bei der Umleitung

Wenn wir die Umleitung verwenden, gehen alle im Hintergrund an die Seite übergebenen Parameter verloren, es sei denn, sie werden geändert werden in der Sitzung platziert. In springMVC gibt es also eine Lösung wie folgt:

@RequestMapping("/update.do")

public String update( RedirectAttributes restartAttributes) {

redirectAttributes.addFlashAttribute( " message", "Vorgang erfolgreich");

return "redirect:/admin/user";

}

Auf der umgeleiteten Seite können Sie den Nachrichtenwert abrufen Dies liegt daran, dass Spring die Nachricht in die Sitzung einfügt.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen SpringMVC-Weiterleitung und -Umleitung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn