Heim > Java > JavaInterview Fragen > Fragen zum JavaWeb-Interview (1)

Fragen zum JavaWeb-Interview (1)

(*-*)浩
Freigeben: 2019-12-06 15:03:08
Original
3288 Leute haben es durchsucht

Fragen zum JavaWeb-Interview (1)

Sprechen Sie über den Lebenszyklus von Servlet?

Servlet hat eine gute Definition des Lebenszyklus, einschließlich Laden und Instanziieren, Initialisieren und Verarbeiten Die Anfrage und der Service enden. Diese Lebensdauer wird durch die Methoden init(), service() und destroy der Schnittstelle javax.servlet.Servlet ausgedrückt. (Empfohlene Studie: Java-Interviewfragen)

Nachdem das Servlet vom Server instanziiert wurde, führt der Container seine Init-Methode aus, und wenn die Anfrage eintrifft, führt er seine Servicemethode aus Die Methode löst automatisch die der Anforderung entsprechende Ausführung aus. doXXX-Methoden (doGet, doPost) usw. rufen ihre Methode destroy auf, 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.

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

1.

Weiterleiten ist, wenn der Server direkt auf die URL der Zieladresse zugreift und fügt diese URL ein. Der Antwortinhalt wird gelesen und dann an den Browser gesendet. Der Browser weiß nicht, woher der vom Server gesendete Inhalt stammt, daher ist seine Adressleiste immer noch die ursprüngliche Adresse Serverseitig wird der Logik zufolge ein Statuscode gesendet, der den Browser anweist, diese Adresse erneut anzufordern. Die Umleitung bedeutet also, dass der Client zwei Anfragen an den Server sendet und auch zwei Antworten akzeptiert.

2. In Bezug auf die Datenfreigabe

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

Weiterleitung: Daten können nicht geteilt werden.

Umleitung kann nicht nur zu anderen Ressourcen der aktuellen Anwendung umleiten, sondern auch zu Ressourcen in anderen Anwendungen auf derselben Site und sogar zu anderen Sites unter Verwendung absoluter URL-Ressourcen.

Weiterleitungsmethode kann nur Anforderungen zwischen Ressourcen innerhalb derselben Webanwendung weiterleiten.

Umleitung ist, wenn der Server den Client benachrichtigt, dass er die Anforderung erneut initiieren soll .

Man kann also sagen, dass die Weiterleitung eine indirekte Anfrage ist, aber man kann nicht sagen, „ob eine Anfrage zur Weiterleitung oder Weiterleitung gehört“

3. Aus der Anwendung lokal

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

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

In Bezug auf die Effizienz

Weiterleitung: niedrig.

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

?

1. request.getParameter() wird durch die Implementierung von erhalten die Containerdaten, die über Methoden wie Post, Get usw. übergeben werden. request.setAttribute() und getAttribute() werden nur innerhalb des Webcontainers zirkuliert und befinden sich nur in der Anforderungsverarbeitungsphase.

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


3. getAttribute() wird immer zusammen mit setAttribute() verwendet. Der Wert kann über getAttribute() abgerufen werden, das Objekttypdaten übergibt. Und es muss im selben Anforderungsobjekt verwendet werden, um gültig zu sein.

Und getParameter() soll die Parameter empfangen, die per Get oder Post des Formulars übermittelt werden

Der Unterschied zwischen statischer JSP-Einbindung und dynamischer Einbindung

1. < ;%@include file="xxx.jsp"%> ist eine Kompilierungsanweisung in JSP. Die Einbindung der Datei erfolgt während der Konvertierung von JSP in Servlet und Es handelt sich um eine Aktionsanweisung in JSP. Die Einbindung ihrer Datei erfolgt während der Kompilierung, d , bei Verwendung der dynamischen Inklusion werden mehrere Klassendateien generiert 3. Verwenden Sie die statische Inklusion. Das Anforderungsobjekt der enthaltenden Seite und der eingebundenen Seite ist dasselbe Objekt, da die statische Inklusion nur den Inhalt der eingebundenen Seite kopiert zur eingebundenen Seite;

Die dynamische Einbindung der enthaltenen Seite und der eingebundenen Seite ist nicht dieselbe Seite. Das Anforderungsobjekt der eingebundenen Seite kann nicht nur einen relativ größeren Parameterbereich erhalten Die enthaltende Seite kann abgerufen werden, aber auch die an die enthaltende Seite übergebenen Parameter können abgerufen werden. Sie können auch die auf der enthaltenen Seite übergebenen Parameter abrufen.

Welche Technologien zur Implementierung der einzelnen Teile von MVC verwendet werden ? Wie implementiert man es?

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.

Was sind die integrierten Objekte in JSP? Welche Funktionen haben sie?

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

1, Client-Anfrage anfordern, diese Anfrage enthält Parameter aus der GET/POST-Anfrage

2, Antwort-Webseite gibt die Antwort vom Client zurück

3, pageContext-Attribut der Webseite befindet sich hier Verwaltung

4, Sitzungssitzung im Zusammenhang mit der Anfrage

5, Inhalt, der vom Anwendungsservlet ausgeführt wird

6, Out wird verwendet, um die Ausgabe der Antwort zu übertragen

7, Servlet-Architekturkomponenten konfigurieren

8, Seite JSP-Webseite selbst

9, Ausnahme für fehlerhafte Webseiten, nicht erfasste Ausnahmen

Http, Der Unterschied zwischen Get- und Post-Methoden

1. Get ist eine Anfrage an den Server, während Post eine Anfrage zum Senden von Daten an den Server ist.

2 Informationen werden nicht geändert, ähnlich wie bei der Datenbankabfragefunktion.

3 Die Parameter der Get-Anfrage werden nach der URL übergeben und die angeforderten Daten werden an die URL angehängt Teilen Sie die URL auf und übertragen Sie die Daten. Das XX in %XX wird in hexadezimaler Form ausgedrückt. Wenn es sich um ein Leerzeichen handelt es zu +. Wenn es sich um chinesische/andere Zeichen handelt, verschlüsseln Sie die Zeichenfolge direkt mit BASE64.

4. Da GET Daten über die URL übermittelt, hängt die Datenmenge, die von GET übermittelt werden kann, direkt von der Länge der URL ab haben unterschiedliche Anforderungen an die Länge der URL. Die Einschränkungen sind unterschiedlich.

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 tatsächlicher Inhalt der http-Nachricht und der Daten an den Webserver gesendet Wird im HTML-Header zur Übermittlung platziert. Der Beitrag schränkt die übermittelten Daten nicht ein. Post ist sicherer als Get. Wenn die Daten auf Chinesisch oder nicht vertraulich sind, verwenden Sie get, da bei get die Parameter in der Adresse angezeigt werden. Für vertrauliche Daten und Daten, die keine chinesischen Zeichen sind, verwenden Sie post.

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.

Was sind Cookies? Was ist der Unterschied zwischen Sitzung und Cookie?

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

Unterschied:

(1) Cookie-Daten Die im Browser des Clients gespeicherten Sitzungsdaten werden auf dem Server abgelegt

(2) Cookies sind nicht sehr sicher. Andere können das lokal gespeicherte COOKIE analysieren und COOKIE-Täuschungen durchführen.

(3) Die Sitzung wird für einen bestimmten Zeitraum auf dem Server gespeichert. Wenn der Zugriff zunimmt, wird die Leistung Ihres Servers stärker beansprucht. Wenn Sie hauptsächlich eine Reduzierung der Serverleistung in Betracht ziehen, sollten Sie COOKIE verwenden.

(4) Das Limit eines einzelnen Cookies auf dem Client beträgt 3 KB Auf dem Client wird eine Website gespeichert. Das Cookie darf nicht 3K groß sein.

Fazit:

Speichern Sie wichtige Informationen wie Anmeldeinformationen als SESSION; wenn andere Informationen gespeichert werden müssen, können Sie diese in COOKIE ablegen.

Was sind die Unterschiede, Gemeinsamkeiten und Anwendungsbereiche zwischen 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.

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-Datei und liest die Servlet-Registrierungsinformationen. Anschließend werden die in jeder Anwendung registrierten Servlet-Klassen geladen und durch Reflektion instanziiert. (Manchmal wird es auch bei der ersten Anfrage instanziiert)

Fügen Sie 1 hinzu, wenn es eine positive Zahl ist, dann instanziieren bei am Anfang. Wenn nicht geschrieben oder eine negative Zahl, wird die Instanziierung zum ersten Mal angefordert.

Das obige ist der detaillierte Inhalt vonFragen zum JavaWeb-Interview (1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage