Heim  >  Artikel  >  Java  >  Fragen zum neuen Java-Interview 2020 – Frühling (3)

Fragen zum neuen Java-Interview 2020 – Frühling (3)

王林
王林nach vorne
2020-06-29 17:10:442071Durchsuche

Dieser Artikel stammt aus Java-Interviewfragen. Ich hoffe, er kann Ihnen helfen. 1. Lassen Sie uns über den Spring MVC-Laufprozess sprechen. 2. Welche Clients gibt es für Spring MVC? 3. Welche Rolle spielt @RequestMapping?

Fragen zum neuen Java-Interview 2020 – Frühling (3)

1. Sprechen wir über den Spring-MVC-Betriebsprozess

(Verwandte Empfehlungen: Java-Interviewfragen )

Spring-Betriebsprozessbeschreibung:

1. Der Benutzer sendet eine Anfrage an den Server und die Anfrage wird vom Spring-Front-End-Steuerelement Servelt DispatcherServlet erfasst

2. DispatcherServlet analysiert die Anforderungs-URL und ruft die Anforderungsressourcen-ID (URI) ab. Rufen Sie dann basierend auf dem URI HandlerMapping auf, um alle vom Handler konfigurierten zugehörigen Objekte abzurufen (einschließlich des Handler-Objekts und des dem Handler-Objekt entsprechenden Interceptors) und geben Sie es schließlich in Form eines HandlerExecutionChain-Objekts zurück 3. DispatcherServlet wählt basierend auf dem erhaltenen Handler einen geeigneten HandlerAdapter aus (Hinweis: Wenn der HandlerAdapter erfolgreich abgerufen wurde, wird zu diesem Zeitpunkt die Ausführung der preHandler(...)-Methode des Interceptors gestartet)

4. Extrahieren Sie die Modelldaten in der Anforderung, geben Sie den Handler-Parameter ein und starten Sie die Ausführung des Handlers (Controller). Während des Ausfüllens der Eingabeparameter des Handlers hilft Ihnen Spring entsprechend Ihrer Konfiguration bei einigen zusätzlichen Arbeiten:

HttpMessageConveter: Konvertieren Sie die Anforderungsnachricht (z. B. Json, XML usw.). Daten) in ein Objekt konvertieren, das Objekt in die angegebenen Antwortinformationen umwandeln;
  • Datenkonvertierung: Führen Sie eine Datenkonvertierung für die Anforderungsnachricht durch. Beispielsweise wird String in Integer, Double usw. umgewandelt.
  • Datenradikalisierung: Formatieren Sie die Daten der Anforderungsnachricht. Zum Beispiel das Konvertieren von Zeichenfolgen in formatierte Zahlen oder formatierte Datumsangaben usw.;
  • Datenüberprüfung: Überprüfen Sie die Gültigkeit der Daten (Länge, Format usw.) und speichern Sie die Überprüfungsergebnisse in BindingResult oder Error ;
  • 5. Nachdem der Handler ausgeführt wurde, geben Sie ein ModelAndView-Objekt an das DispatcherServlet zurück.
6 (muss beim ViewResolver im Spring-Container registriert sein) und gibt es an den DispatcherServlet zurück.

7 der Kunde.

2. Was sind die Komponenten von Spring MVC?

Kernkomponenten von Spring MVC:

1. DispatcherServlet: zentraler Controller, leitet Anfragen an bestimmte Kontrollklassen weiter

2. Controller: spezifische Verarbeitung Angeforderter Controller

3. HandlerMapping: Mapping-Prozessor, verantwortlich für die Zuordnung der Mapping-Strategie, wenn der Zentralprozessor sie an den Controller weiterleitet

4. Kapselung der von der Serviceschicht und der Ansichtsschicht zurückgegebenen Daten

5. ViewResolver: View-Resolver, der bestimmte Ansichten analysiert

6. Interceptors: Interceptors, verantwortlich für das Abfangen der von uns definierten Anfragen und deren anschließende Verarbeitung

3. Welche Rolle spielt @RequestMapping?

RequestMapping ist eine Annotation zur Verarbeitung der Anforderungsadressenzuordnung, die für Klassen oder Methoden verwendet werden kann. Bei einer Klasse bedeutet dies, dass alle Methoden in der Klasse, die auf Anfragen antworten, diese Adresse als übergeordneten Pfad verwenden.

Die RequestMapping-Annotation hat sechs Attribute. Im Folgenden unterteilen wir sie zur Erläuterung in drei Kategorien.

Wert, Methode:

Wert: Geben Sie die tatsächliche Adresse der Anfrage an. Die angegebene Adresse kann sich im URI-Vorlagenmodus befinden (wird später erläutert). >

    Methode: Geben Sie den angeforderten Methodentyp an, GET, POST, PUT, DELETE usw.;
  • verbraucht, produziert
  • verbraucht: Geben Sie den übermittelten Inhaltstyp (Content-Type) für die Verarbeitung der Anfrage an, z. B. application/json, text/html

    erzeugt: Geben Sie den zurückgegebenen Inhalt an Inhaltstyp, nur wenn der Anforderungsheader Der angegebene Typ wird nur zurückgegeben, wenn der (Accept)-Typ im Parameterwert ist, damit die Methode ihn verarbeiten kann.
  • Header: Die angegebene Anfrage muss bestimmte angegebene Headerwerte enthalten, damit diese Methode die Anfrage verarbeiten kann.

Das obige ist der detaillierte Inhalt vonFragen zum neuen Java-Interview 2020 – Frühling (3). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen