Heim  >  Artikel  >  Java  >  Was ist in Java vorwärts?

Was ist in Java vorwärts?

(*-*)浩
(*-*)浩Original
2019-05-22 20:03:338401Durchsuche

Forward bezieht sich in Java auf die „direkte Weiterleitungsmethode“. Bei der direkten Methode gibt der Client-Browser nur eine Anfrage an Servlet, HTML, JSP oder andere Informationsressourcen weiter. Die zweite Informationsressource antwortet auf die Anfrage Informationsressourcen werden gemeinsam genutzt.

Was ist in Java vorwärts?

Der Benutzer sendet eine HTTP-Anfrage an den Server. Die Anfrage kann von mehreren Informationsressourcen verarbeitet werden, bevor sie an den Benutzer zurückgegeben wird Weiterleitungsmechanismus: Anfragen werden untereinander weitergeleitet, aber Benutzer haben nicht das Gefühl, dass die Anfragen weitergeleitet werden. Entsprechend den verschiedenen Weiterleitungsmethoden kann sie in direkte Anforderungsweiterleitung (Forward) und indirekte Anforderungsweiterleitung (Redirect) unterteilt werden.

Direkte Weiterleitungsmethode (Forward), der Client und der Browser geben nur eine Anforderung aus, Servlet, HTML, JSP oder andere Informationsressourcen, die zweite Informationsressource antwortet auf die Anforderung und speichert sie im Anforderungsobjekt Das Objekt wird mit jeder Informationsressource geteilt.

Die indirekte Weiterleitungsmethode (Redirect) besteht eigentlich aus zwei HTTP-Anfragen. Wenn der Server auf die erste Anfrage antwortet, kann der Browser eine Anfrage an eine andere URL senden, um den Zweck der Weiterleitung zu erreichen.

Um ein beliebtes Beispiel zu nennen:

Direkte Weiterleitung ist äquivalent zu: „A bat B, sich Geld zu leihen, B sagte, er hätte es nicht, B ging zu C, um es zu leihen, und Wenn er es nicht ausleihen könnte, würde er die Nachricht weiterleiten: „Gib es A“;

Indirekte Weiterleitung ist äquivalent zu: „A hat B gebeten, sich Geld zu leihen, aber B sagte, er hätte es nicht.“ Also bat er A, sich Geld von C zu leihen.

Detaillierte Erläuterung der Direktweiterleitungsmethode (Weiterleiten)

Die Direktweiterleitungsmethode wird häufiger verwendet. Im Allgemeinen bezieht sich die Anforderungsweiterleitung auf die Direktweiterleitungsmethode. Die meisten Webanwendungen verfügen über einen Controller. Es obliegt dem Verantwortlichen, zu steuern, an welche Informationsressource die Anfrage weitergeleitet werden soll. Anschließend verarbeiten diese Informationsressourcen die Anforderung und können sie nach der Verarbeitung an andere Informationsressourcen weiterleiten, um sie an den Benutzer zurückzugeben. Dieser Prozess ist das klassische MVC-Modell.

javax.serlvet.RequestDispatcher-Schnittstelle ist eine Schnittstelle, die der Anforderungsweiterleiter implementieren muss. Der Webcontainer stellt dem Servlet ein Objekt zur Verfügung, das diese Schnittstelle implementiert. Der Zweck der Anforderungsweiterleitung wird durch Aufrufen der Methode „forward()“ erreicht dieser Schnittstelle. Beispielcode wie folgt:

......
    //Servlet里处理get请求的方法
 public void doGet(HttpServletRequest request , HttpServletResponse response){
     //获取请求转发器对象,该转发器的指向通过getRequestDisPatcher()的参数设置
   RequestDispatcher requestDispatcher =request.getRequestDispatcher("资源的URL");
    //调用forward()方法,转发请求      
   requestDispatcher.forward(request,response);    
}......

Was ist in Java vorwärts?

Der Prozess der direkten Weiterleitung der in der obigen Abbildung gezeigten Anfrage ist wie folgt:

  • Der Browser gibt eine Zugriffsanforderung an Servlet1 aus;

  • Servlet1 ruft die Methode „forward()“ auf und leitet die Anforderung an Servlet2 auf der Serverseite weiter; >

    Schließlich antwortet Servlet2.
  • Tipp: Tatsächlich können Sie über den Browser die vom Server verwendete Weiterleitungsmethode beobachten. Wenn Sie auf einen Hyperlink klicken, wird die aktuelle Adressleiste angezeigt Wenn nach Abschluss der serverseitigen Antwort festgestellt wird, dass sich die Adresse in der Adressleiste geändert hat, ist dies ein Beweis dafür, dass die Anfrage indirekt weitergeleitet wurde. Ändert sich die Adresse hingegen nicht, handelt es sich um eine direkte Anfrage zur Weiterleitung oder keine Weiterleitung.

Erweiterte Informationen:

Was sind die Prinzipien und Unterschiede zwischen direkter Weiterleitung und indirekter Weiterleitung?

Antwort: Weiterleiten und Umleiten stellen zwei Methoden zur Anforderungsweiterleitung dar: direkte Weiterleitung und indirekte Weiterleitung. Entsprechend dem Code handelt es sich um die Methode „forward()“ der Klasse „RequestDispatcher“ und die Methode „sendRedirect()“ der Klasse „HttpServletRequest“.

Wenn der Server bei der indirekten Methode auf die erste Anfrage antwortet, kann der Browser eine Anfrage an eine andere URL senden, um den Zweck der Weiterleitung zu erreichen. Es handelt sich im Wesentlichen um zwei HTTP-Anfragen, die zwei Anforderungsobjekten entsprechen.

Bei der direkten Methode gibt der Client-Browser nur eine Anfrage aus und das Servlet leitet die Anfrage an Servlet, HTML, JSP oder andere Informationsressourcen weiter. Die beiden Informationsressourcen werden gemeinsam genutzt das gleiche Ein Anforderungsobjekt.

Das obige ist der detaillierte Inhalt vonWas ist in Java vorwärts?. 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