Heim  >  Artikel  >  Java  >  Grundlegende Fragen zu Java-Hochfrequenzinterviews——(4)

Grundlegende Fragen zu Java-Hochfrequenzinterviews——(4)

王林
王林nach vorne
2020-09-02 16:08:571844Durchsuche

1. Sprechen Sie über den Lebenszyklus von Servlet? Bearbeitung der Anfrage und Beendigung des Dienstes. Diese Lebensdauer wird durch die Methoden init(), service() und destroy der Schnittstelle javax.servlet.Servlet ausgedrückt.

Grundlegende Fragen zu Java-Hochfrequenzinterviews——(4)Nachdem das Servlet vom Server instanziiert wurde, führt der Container seine Init-Methode aus, und wenn die Anforderung eintrifft, führt er seine Dienstmethode aus. Die Dienstmethode sendet automatisch die der Anforderung entsprechenden doXXX-Methoden (doGet, doPost). usw. und wird aufgerufen, wenn der Server beschließt, die Instanz zu zerstören.

Der Webcontainer lädt das Servlet und der Lebenszyklus beginnt. Initialisieren Sie das Servlet, indem Sie die init()-Methode des Servlets aufrufen. Dies wird durch Aufrufen der service()-Methode erreicht, und je nach Anforderung werden unterschiedliche do***()-Methoden aufgerufen. Um den Dienst zu beenden, ruft der Webcontainer die destroy()-Methode des Servlets auf.

2. Was ist der Unterschied zwischen Forward() und Redirect() in der Servlet-API? 1.

Weiterleiten bedeutet, dass der Server direkt auf die URL der Zieladresse zugreift, den Antwortinhalt dieser URL liest und den Inhalt dann an den Browser sendet tut dies überhaupt nicht. Es weiß, woher der vom Server gesendete Inhalt kommt, daher ist seine Adressleiste immer noch die ursprüngliche Adresse.

Umleiten bedeutet, dass der Server einen Statuscode sendet, der auf Logik basiert, um den Browser anzuweisen, diese Adresse erneut anzufordern. Daher bedeutet Umleiten, dass der Client zwei Anfragen an den Server sendet und auch zwei Anfragen akzeptiert . Antwort.

2. Aus Sicht der Datenfreigabe

Weiterleitung: Die weitergeleitete Seite und die weitergeleitete Seite können die Daten in der Anfrage teilen.

Umleitung: Daten können nicht geteilt werden. Die Weiterleitung kann nicht nur auf andere Ressourcen der aktuellen Anwendung umgeleitet werden , aber auch Weiterleitung zu Ressourcen in anderen Anwendungen auf derselben Site oder sogar Weiterleitung zu Ressourcen auf anderen Sites mithilfe absoluter URLs

Die Weiterleitungsmethode kann nur Anforderungen zwischen Ressourcen innerhalb derselben Webanwendung weiterleiten. Die Weiterleitung erfolgt an den Server. Ein interner Vorgang

Umleitung ist, wenn der Server den Client benachrichtigt und ihm erlaubt, die Anfrage erneut zu initiieren

Man kann also sagen, dass die Umleitung eine indirekte Anfrage ist, aber man kann nicht sagen, „ob eine Anfrage weitergeleitet oder umgeleitet wird“

3. In Bezug auf den Anwendungsbereich:

Weiterleiten: Wird im Allgemeinen verwendet, wenn sich Benutzer anmelden, und leitet entsprechend der Rolle zum entsprechenden Modul weiter.

Umleiten: Wird im Allgemeinen verwendet, um zur Hauptseite zurückzukehren, wenn sich Benutzer abmelden und zu anderen Websites usw. springen .

4. Was ist der Unterschied zwischen request.getAttribute() und

redirect? request.getParameter() Die über Methoden wie post und get übergebenen Daten werden durch die Implementierung des Containers abgerufen.

request.setAttribute() und getAttribute() fließen nur innerhalb des Webcontainers und befinden sich nur in der Anforderungsverarbeitungsphase.

2. getAttribute gibt ein Objekt zurück, getParameter gibt einen String zurück

3. GetAttribute() wird immer zusammen mit setAttribute() verwendet Was übergeben wird, sind Objekttypdaten. Und es muss im selben Anforderungsobjekt verwendet werden, um gültig zu sein. , und getParameter() soll die vom Get oder Post des Formulars übermittelten Parameter empfangen. %@include file="xxx.jsp"%> ist eine Kompilierungsanweisung in jsp. Die Einbindung der Datei erfolgt während der Konvertierungsperiode von jsp in servlet, und ist eine Aktion in der JSP-Anweisung. Die Einbindung ihrer Dateien erfolgt während der Kompilierung, d Generieren Sie mehrere Klassendateien

3. Bei Verwendung der statischen Einbindung sind die Anforderungsobjekte der enthaltenden Seite und der eingebundenen Seite dasselbe Objekt, da die statische Einbindung nur den Inhalt der eingebundenen Seite auf die eingebundene Seite kopiert Seiten und eingeschlossene Seiten sind nicht dasselbe Objekt. Für eine Seite ist der Parameterbereich, der vom Anforderungsobjekt der enthaltenen Seite abgerufen werden kann, relativ groß Sie können die weitergegebenen Parameter auch von der enthaltenen Seite abrufen. 5. MVC Welche Technologien werden zur Implementierung der einzelnen Teile verwendet?

MVC ist die Abkürzung für Model-View-Controller. Das Modell stellt die Geschäftslogik der Anwendung dar (implementiert durch JavaBeans- und EJB-Komponenten), die Ansicht ist die Präsentationsoberfläche der Anwendung (generiert durch JSP-Seiten) und der Controller stellt die Prozesssteuerung der Anwendung bereit (normalerweise ein Servlet). Teilen Sie Anwendungslogik, Verarbeitungs- und Anzeigelogik in verschiedene Komponentenimplementierungen auf. Mit diesen Komponenten kann interagiert und sie wiederverwendet werden.

6. Was sind die integrierten Objekte in JSP?

JSP verfügt über die folgenden 9 integrierten Objekte:

1

2. Die Antwort-Webseite gibt die Antwort vom Client zurück

3 Die Attribute der pageContext-Webseite werden hier verwaltet

4 Der Sitzungszeitraum, der sich auf die Anfrage bezieht

6. out wird als Antwortausgabe verwendet

7. Seite JSP-Webseite selbst

9. Ausnahmen für Fehler-Webseiten 7. Der Unterschied zwischen Get- und Post-Methoden in HTTP

1 Get ist eine Anforderung an den Server für Daten, und Post ist eine Anforderung zum Senden von Daten an den Server.

2 Get dient zum Abrufen von Informationen und nicht zum Ändern von Informationen, ähnlich wie bei der Datenbankabfragefunktion nicht geändert werden

3. Die Parameter der Get-Anfrage werden nach der URL übergeben und die angeforderten Daten werden an die URL angehängt und die Daten werden mit ? verknüpft %XX ist das Symbol und wird durch 16 dargestellt. Wenn es sich bei den Daten um englische Buchstaben/Zahlen handelt, konvertieren Sie sie in + , verschlüsseln Sie die Zeichenfolge direkt mit BASE64.

4. Da GET Daten über eine URL übermittelt, hängt die Datenmenge, die von GET übermittelt werden kann, direkt mit der Länge der URL zusammen Länge der URL.

5. Die von GET angeforderten Daten werden vom Browser zwischengespeichert und der Benutzername und das Passwort werden im Klartext auf der URL angezeigt. Andere können die historischen Browsing-Datensätze überprüfen und die Daten sind nicht sicher.

Verwenden Sie auf der Serverseite Request.QueryString, um die von der Get-Methode übermittelten Daten abzurufen.

Die Post-Anfrage wird als eigentlicher Inhalt der HTTP-Nachricht an den Webserver gesendet. Die Daten werden zur Übermittlung in den HTML-Header eingefügt. Post ist sicherer als Get. Wenn die Daten auf Chinesisch oder nicht vertraulich sind, verwenden Sie get, da bei Verwendung von get die Parameter in der Adresse angezeigt werden. Verwenden Sie für vertrauliche Daten und Daten, die keine chinesischen Zeichen sind.

6. POST stellt eine Anfrage dar, die Ressourcen auf dem Server ändern kann. Auf der Serverseite können in der Post-Methode übermittelte Daten nur mit Request.Form abgerufen werden.

8. Was ist ein Cookie? Was ist der Unterschied zwischen Sitzung und Cookie?

Cookie ist eine Sitzungstechnologie, ein Objekt, das Benutzerinformationen im Browser speichert

(Verwandte Empfehlungen:
Erste Schritte mit Java)

Unterschied:

1. Cookie-Daten werden im Browser des Kunden gespeichert Daten auf dem Server ablegen2. Andere können die lokal gespeicherten Cookies analysieren und sie täuschen. Wenn die Sicherheit im Vordergrund steht, sollten Sie die Sitzung auf dem Server speichern für einen bestimmten Zeitraum. Wenn der Zugriff zunimmt, wird die Leistung Ihres Servers stärker beansprucht. Wenn die Serverleistung hauptsächlich verringert werden soll, sollten Sie COOKIE

4 verwenden. Das Limit eines einzelnen Cookies auf dem Client beträgt 3K, was bedeutet, dass eine Website dies nicht tun kann Speichern Sie 3K COOKIE auf dem Client.

Fazit:

Speichern Sie wichtige Informationen wie Anmeldeinformationen als SITZUNG. Wenn andere Informationen gespeichert werden müssen, können diese in COOKIE abgelegt werden.

9. Was sind die Unterschiede, Gemeinsamkeiten und Anwendungsbereiche von JSP und Servlet?

JSP ist eine Erweiterung der Servlet-Technologie, bei der es sich im Wesentlichen um eine einfache Art von Servlet handelt. Nachdem JSP kompiliert wurde, ähnelt es einem „Servlet“.

Der Hauptunterschied zwischen Servlet und JSP besteht darin, dass sich die Anwendungslogik von Servlet in der Java-Datei befindet und in der Präsentationsschicht vollständig vom HTML getrennt ist. Im Fall von JSP können Java und HTML in einer Datei mit der Erweiterung .jsp kombiniert werden.

JSP konzentriert sich auf Ansichten und Servlets werden hauptsächlich für die Steuerlogik verwendet. Im Struts-Framework befindet sich JSP in der Ansichtsebene des MVC-Entwurfsmusters und Servlet in der Kontrollebene

10. Wie erstellt der Tomcat-Container eine Servlet-Klasseninstanz? Welche Prinzipien werden angewendet?

Wenn der Container startet, liest er die web.xml-Dateien in allen Webanwendungen im Webapps-Verzeichnis, analysiert dann die XML-Dateien und liest die Servlet-Registrierungsinformationen. Laden Sie dann die in jeder Anwendung registrierten Servlet-Klassen und instanziieren Sie sie durch Reflektion. (Manchmal wird es auch bei der ersten Anfrage instanziiert)

Fügen Sie bei der Registrierung des Servlets 1 hinzu . Wenn nicht geschrieben oder negativ, wird zum ersten Mal eine Instanziierung angefordert.

Das obige ist der detaillierte Inhalt vonGrundlegende Fragen zu Java-Hochfrequenzinterviews——(4). 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