Grundlegende Fragen zu Java-Hochfrequenzinterviews——(4)
Sep 02, 2020 pm 04:08 PM1. 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.
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 initiierenMan 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, und3. 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:
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
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!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Um JDBC -Transaktionen korrekt zu verarbeiten, müssen Sie zun?chst den automatischen Komiti -Modus ausschalten und dann mehrere Vorg?nge ausführen und schlie?lich entsprechend den Ergebnissen festlegen oder rollen. 1. Nennen Sie Conn.SetAutoCommit (False), um die Transaktion zu starten. 2. Führen Sie mehrere SQL -Operationen aus, z. B. einfügen und aktualisieren. 3. Rufen Sie Conn.Commit () an, wenn alle Vorg?nge erfolgreich sind, und rufen Sie Conn.Rollback () auf, wenn eine Ausnahme auftritt, um die Datenkonsistenz zu gew?hrleisten. Gleichzeitig sollten Try-with-Ressourcen verwendet werden, um Ressourcen zu verwalten, Ausnahmen ordnungsgem?? zu behandeln und Verbindungen zu schlie?en, um Verbindungsleckage zu vermeiden. Darüber hinaus wird empfohlen, Verbindungspools zu verwenden und Save -Punkte zu setzen, um teilweise Rollback zu erreichen und Transaktionen so kurz wie m?glich zu halten, um die Leistung zu verbessern.

Verwenden Sie Klassen im Java.Time -Paket, um das alte Datum und die Kalenderklassen zu ersetzen. 2. Erhalten Sie das aktuelle Datum und die aktuelle Uhrzeit durch LocalDate, LocalDatetime und Local Time; 3. Erstellen Sie ein bestimmtes Datum und eine bestimmte Uhrzeit mit der von () Methode; 4.. Verwenden Sie die Plus/Minus -Methode, um die Zeit nicht zu erh?hen und zu verkürzen. 5. Verwenden Sie ZonedDatetime und zoneId, um die Zeitzone zu verarbeiten. 6. Format und analysieren Sie Datumszeichenfolgen über DateTimeFormatter; 7. Verwenden Sie sofortige, um bei Bedarf mit den alten Datumstypen kompatibel zu sein. Die Verarbeitung der Datum in der modernen Java sollte der Verwendung von Java.Timeapi vorrangig machen, was klare, unver?nderliche und linear ist

Pre-Formancetartuptimemoryusage, QuarkusandmicronautleadduToCompile-Time-foringandgraalvSupport, WithQuarkusofttenperformLightBetterin serverloser Szenarien.2. Thyvelopecosystem,

Networkportsandfirewallsworktogethertoenablecommunicationwhileensuringsecurity.1.Networkportsarevirtualendpointsnumbered0–65535,withwell-knownportslike80(HTTP),443(HTTPS),22(SSH),and25(SMTP)identifyingspecificservices.2.PortsoperateoverTCP(reliable,c

Die Müllsammlung von Java (GC) ist ein Mechanismus, der automatisch den Speicher verwaltet, der das Risiko eines Speicherlecks verringert, indem unerreichbare Objekte zurückgeführt werden. 1.GC beurteilt die Zug?nglichkeit des Objekts aus dem Stammobjekt (z. B. Stapelvariablen, aktive Threads, statische Felder usw.) und nicht erreichbare Objekte als Müll markiert. 2. Basierend auf dem markierten Algorithmus markieren Sie alle erreichbaren Objekte und l?schen Sie nicht markierte Objekte. 3.. Verfolgen Sie eine Generationskollektionsstrategie: Die neue Generation (Eden, S0, S1) führt h?ufig MollGC aus; Die ?lteren Menschen erzielen weniger, dauert jedoch l?nger, um MajorGC durchzuführen. MetaPace speichert Klassenmetadaten. 4. JVM bietet eine Vielzahl von GC -Ger?ten: SerialGC ist für kleine Anwendungen geeignet; ParallelgC verbessert den Durchsatz; CMS reduziert sich

Durch die Auswahl des richtigen HTMlinput -Typs kann die Datengenauigkeit verbessert, die Benutzererfahrung verbessert und die Benutzerfreundlichkeit verbessert werden. 1. W?hlen Sie die entsprechenden Eingabetypen gem?? dem Datentyp aus, z. B. Text, E -Mail, Tel, Nummer und Datum, die automatisch überprüft und an die Tastatur anpassen k?nnen. 2. Verwenden Sie HTML5, um neue Typen wie URL, Farbe, Reichweite und Suche hinzuzufügen, die eine intuitivere Interaktionsmethode bieten k?nnen. 3.. Verwenden Sie Platzhalter und erforderliche Attribute, um die Effizienz und Genauigkeit der Formulierung zu verbessern. Es sollte jedoch beachtet werden, dass der Platzhalter das Etikett nicht ersetzen kann.

GradleStheBetterChoiceFormostnewProjectsDuetoitSuperiorFlexibilit?t, Leistung und ModerntoolingSupport.1.GRADLE'SGROOVY/KOTLINDSLISMORECONCISEANDEIPRESSIVETHANMANMANBOSEXML.2.GRAGRECONCISEANDEPRPRESSIVETHANMAVENSVOSEXML.2.

Auf Defer wird verwendet, um bestimmte Vorg?nge auszuführen, bevor die Funktion zurückgibt, z. B. die Reinigungsressourcen. Die Parameter werden sofort bewertet, wenn sie aufgeschoben werden, und die Funktionen werden in der Reihenfolge von Last-In-First-Out (LIFO) ausgeführt. 1. Mehrere Defers werden in umgekehrter Reihenfolge der Erkl?rungen ausgeführt. 2. h?ufig für die sichere Reinigung wie das Schlie?en von Dateien verwendet; 3. Der benannte Rückgabewert kann ge?ndert werden; V. 5. Vermeiden Sie den Missbrauch von Verschiebungen in Schleifen, um Ressourcenleckage zu verhindern. Die korrekte Verwendung kann die Sicherheit und die Lesbarkeit der Code verbessern.
