Top 50 Fragen zum JSP-Interview & Antworten

Anonim

PDF Herunterladen

1) Erklären Sie JSP und geben Sie seine Verwendung an.

JSP steht für Java Server Pages. Es handelt sich um eine plattformunabhängige Präsentationsschichttechnologie. Es wird mit den J2EE-Plattformen von SUN geliefert. Sie sind wie HTML-Seiten, jedoch mit darin eingebetteten Java-Codeteilen. Sie werden mit der Erweiterung .jsp gespeichert. Sie werden mit dem JSP-Compiler im Hintergrund kompiliert und generieren aus der Seite ein Servlet.

2) Was ist die Anforderung an eine Tag-Bibliothek?

Eine Sammlung benutzerdefinierter Tags wird als Tag-Bibliothek bezeichnet. Wiederkehrende Aufgaben werden einfacher erledigt und in mehreren Anwendungen wiederverwendet, um die Produktivität zu steigern. Sie werden von Webanwendungsdesignern verwendet, die sich eher auf die Präsentation als auf den Zugriff auf Datenbanken oder andere Dienste konzentrieren. Einige beliebte Bibliotheken sind die String-Tag-Bibliothek und die Apache-Display-Tag-Bibliothek.

3) Erklären Sie die JSP-Technologie.

JSP ist eine Standarderweiterung von Java und wird zusätzlich zu Servlet-Erweiterungen definiert. Ziel ist es, die Verwaltung und Erstellung dynamischer Webseiten zu vereinfachen. Es ist plattformunabhängig, sicher und verwendet Java als serverseitige Skriptsprache.

4) Erklären Sie implizite Objekte in JSP.

Vom Webcontainer erstellte Objekte, die Informationen zu einer bestimmten Anforderung, Anwendung oder Seite enthalten, werden als implizite Objekte bezeichnet. Sie sind :

  • Antwort
  • Ausnahme
  • Anwendung
  • Anfrage
  • Session
  • Seite
  • aus
  • config
  • pageContext

5) Wie können mehrere Übermittlungen aufgrund von Aktualisierungsschaltflächen verhindert werden?

Mit einem Post / Redirect / Get- oder PRG-Muster kann dieses Problem gelöst werden.

1) Ein vom Benutzer ausgefülltes Formular wird mit der POST- oder GET-Methode an den Server gesendet. Der Status in der Datenbank und im Geschäftsmodell werden aktualisiert.

2) Eine Umleitungsantwort wird verwendet, um vom Servlet auf eine Ansichtsseite zu antworten.

3) Eine Ansicht wird vom Browser mit dem Befehl GET geladen und es werden keine Benutzerdaten gesendet. Dies ist vor mehreren Einsendungen sicher, da es sich um eine separate JSP-Seite handelt.

6) Ist die JSP-Technologie erweiterbar?

Ja, JSP kann leicht durch Verwendung und Änderung von Tags oder benutzerdefinierten Aktionen erweitert werden, die in Tag-Bibliotheken enthalten sind.

7) Unterscheiden Sie zwischen response.sendRedirect (url) und

…>.

Das Element leitet das Anforderungsobjekt von einer JSP-Datei an eine andere weiter. Die Zieldatei kann HTML, Servlet oder eine andere JSP-Datei sein, sollte sich jedoch im selben Anwendungskontext wie die Weiterleitung der JSP-Datei befinden.

sendRedirect sendet eine temporäre HTTP-Umleitungsantwort an den Browser. Der Browser erstellt dann eine neue Anforderung für die umgeleitete Seite. Es beendet die Sitzungsvariablen.

8) Kann auf eine nachfolgende Anforderung mit dem eigenen Servlet-Code zugegriffen werden, wenn in seiner JSP bereits ein Anforderungsattribut gesendet wurde?

Die Anfrage ist nicht mehr gültig, daher kann nicht auf sie zugegriffen werden. Wenn jedoch ein Anforderungsattribut im Servlet festgelegt ist, kann in seiner JSP darauf zugegriffen werden.

Eine JSP ist eine serverseitige Komponente, und die Seite wird in ein Java-Servlet übersetzt und dann ausgeführt. Als Ausgabe wird nur HTML-Code angegeben.

9) Wie füge ich statische Dateien in eine JSP-Seite ein?

Statische Seiten werden immer mit der JSP-Include-Direktive eingeschlossen. Auf diese Weise wird die Aufnahme in der Übersetzungsphase einmal durchgeführt. Beachten Sie, dass für das Dateiattribut eine relative URL angegeben werden muss. Obwohl statische Ressourcen enthalten sein können, wird dies nicht bevorzugt, da jede Anforderung die Einbeziehung erfordert.

10) Warum hat JComponent die Methoden add () und remove (), Component jedoch nicht?

JComponent ist eine Unterklasse von Container. Es enthält andere Komponenten und JComponents.

11) Wie kann eine thread-sichere JSP-Seite implementiert werden?

Dies kann erreicht werden, indem sie von der SingleThreadModel-Schnittstelle implementiert werden. Fügen Sie der JSP-Seite die Anweisung <% @ page isThreadSafe = ”false”%> hinzu.

12) Wie kann verhindert werden, dass die Ausgabe der JSP- oder Servlet-Seite vom Browser zwischengespeichert wird?

Verwenden geeigneter HTTP-Headerattribute, um zu verhindern, dass der von einer JSP-Seite ausgegebene dynamische Inhalt vom Browser zwischengespeichert wird.

13) Wie kann ich die Anzeige von Seitenfehlern auf einer JSP-Seite einschränken?

Durch Einrichten eines "ErrorPage" -Attributs des PAGE-Verzeichnisses auf den Namen der Fehlerseite auf der JSP-Seite und anschließend auf der Fehler-JSP-Seite "isErrorpage =" TRUE "kann verhindert werden, dass Fehler angezeigt werden.

14) Was sind JSP-Aktionen?

Hierbei handelt es sich um XML-Tags, die den Server anweisen, vorhandene Komponenten zu verwenden oder das Verhalten von JSP Engine zu steuern. Sie bestehen aus einem typischen Präfix von "jsp: und einem Aktionsnamen.

15) Unterscheiden Sie zwischen und <% @ include file =…>.

Beide Tags enthalten Informationen von einer Seite zur anderen.

Das erste Tag fungiert als Funktionsaufruf zwischen zwei JSPs. Es wird jedes Mal ausgeführt, wenn der Client auf die Client-Seite zugreift. Es ist nützlich, die Webanwendung zu modularisieren. Neuer Inhalt ist in der Ausgabe enthalten.

Der zweite Tag-Inhalt der Datei ist in Textform eingebettet und weist eine ähnliche Anweisung auf. Der geänderte Inhalt ist nicht in der Ausgabe enthalten. Es ist hilfreich, wenn Code von einem JSP von mehreren JSPs benötigt wird.

16) Kann anstelle von init () ein Konstruktor verwendet werden, um das Servlet zu initialisieren?

Ja, es ist möglich. Dies wird jedoch nicht bevorzugt, da init () entwickelt wurde, da frühere Java-Versionen Konstruktoren mit Argumenten nicht dynamisch aufrufen konnten. Sie konnten also keine servletConfig zuweisen. Servlet-Container rufen heute jedoch nur noch den Konstruktor no-arg auf. Es gibt also keinen Zugriff auf servletContext oder servletConfig.

17) Erklären Sie die Lebenszyklusmethoden. 1)

jsplnit () : Der Container ruft dies auf, um die Servlet-Instanz zu initialisieren. Es wird nur einmal für die Servlet-Instanz aufgerufen und steht vor jeder anderen Methode. 2)

_jspService () : Der Container ruft dies für jede Anforderung auf und gibt es an die Objekte weiter. 3)

jspDestroy () : Wird vom Container kurz vor der Zerstörung der Instanz aufgerufen.

18) Erklären Sie die Kommentare zur JSP-Ausgabe?

Dies sind Kommentare, die in der HTML-Quelldatei angezeigt werden können.

19) Ausdruck definieren

Das Ausdruckstag wird verwendet, um Java-Werte direkt in die Ausgabe einzufügen. Die Syntax lautet

<% = Ausdruck%>

Es enthält einen Ausdruck für die Skriptsprache, der ausgewertet, dann in eine Zeichenfolge konvertiert und an der Stelle eingefügt wird, an der der Ausdruck in der JSP-Datei enthalten ist.

20) Zusammensetzung definieren.

Die Komposition hat eine stärkere Beziehung zum Objekt als die Aggregation.

21) Definieren Sie das JSP-Scriptlet.

Es ist ein JSP-Tag, das Java-Code in JSP-Seiten einschließt. Ihre Syntax lautet <%%>. Der im Scriptlet geschriebene Code wird jedes Mal ausgeführt, wenn das Programm ausgeführt wird.

22) Wie können Informationen von einer JSP an eine andere JSP übergeben werden?

Das Tag ermöglicht es uns, Informationen zwischen mehreren Jsps zu übertragen.

23) Erläutern Sie die Verwendung des Tags .

id="beanInstName"scope= "page | application"class="ABC.class" type="ABC.class"

Dieses Tag erstellt eine Instanz von Java Bean. Zunächst wird versucht, festzustellen, ob die Bean-Instanz bereits vorhanden ist, und eine Referenz in der Variablen zuzuweisen. Typ wird ebenfalls angegeben; Andernfalls wird es von der angegebenen Klasse instanziiert, wobei eine Referenz in der neuen Variablen gespeichert wird.

24) Erläutern Sie die Behandlung von Laufzeitausnahmen.

Das Fehlerseitenattribut wird verwendet, um die Laufzeitausnahmen aufzuheben, die automatisch an eine Fehlerverarbeitungsseite weitergeleitet werden.

Der Browser wird auf die JSP-Seite error.jsp umgeleitet, wenn während der Anforderungsbearbeitung eine nicht erfasste Ausnahme auftritt. Es ist eine Fehlerverarbeitungsseite.

25) Warum beginnt _jspService () mit einem '_', andere Lebenszyklusmethoden jedoch nicht?

Der Inhalt einer JSP-Seite wird vom Container in die Methode _jspService () übernommen. Wenn es überschrieben wird, gibt der Compiler einen Fehler aus, aber die anderen 2 Lebenszyklen können leicht überschrieben werden. '_' Zeigt also, dass wir diese Methode nicht überschreiben können.

26) Erläutern Sie die verschiedenen Bereichswerte für das Tag .

Das Tag wird verwendet, um ein beliebiges Java-Objekt auf der JSP-Seite zu verwenden. Einige Bereichswerte sind:

1) Anwendung

2) Anfrage

3) Seite

4) Sitzung

27) Zeigen Sie die 2 Arten von Kommentaren in JSP an.

Die 2 Typen sind:

<%-JSP Comment-%>

28) Kann die statische Methode überschrieben werden?

Wir können statische Methoden mit derselben Signatur in der Unterklasse deklarieren, dies wird jedoch nicht als überschreibend angesehen, da es keinen Laufzeitpolymorphismus gibt. Daher lautet die Antwort "Nein".

29) Erläutern Sie die JSP-Anweisungen.

JSP-Anweisungen sind Nachrichten an JSP Engine. Sie dienen als Nachricht von Seite zu Container und steuern die Verarbeitung der gesamten Seite. Sie können globale Werte wie die Klassendeklaration festlegen. Sie erzeugen keine Ausgabe und sind in <% @….%> Eingeschlossen

30) Erklären Sie die Richtlinien.

Seitenanweisungen informieren die JSP-Engine über Header und Funktionen, die die Seite von der Umgebung erhält. Es befindet sich oben auf allen JSP-Seiten. Die Syntax lautet <% @ page attribute = ”value”>

31) Attribute von Seitenanweisungen anzeigen.

1) Sitzung: Zeigt an, ob der Seite Sitzungsdaten zur Verfügung stehen.

2) Importieren: Es werden Pakete angezeigt, die importiert werden.

3) isELIgnored: Zeigt an, ob EL-Ausdrücke ignoriert werden, wenn JSP in ein Servlet übersetzt wird.

4) contentType: Hiermit kann der Benutzer den Inhaltstyp der Seite angeben.

32) Was ist die Include-Richtlinie?

Die include-Direktive fügt den Inhalt einer Ressource statisch in die aktuelle JSP ein. Es hilft bei der Wiederverwendung von Code ohne Duplizierung. und enthält den Inhalt der Datei zur Übersetzungszeit. Die Syntax lautet wie folgt: <% @ include file = ”Dateiname”%>.

33) Was sind Standardaktionen in JSP?

Sie wirken sich auf das allgemeine Laufzeitverhalten einer Seite und die an den Client gesendete Antwort aus. Sie werden verwendet, um eine Datei zur Anforderungszeit einzuschließen, eine JavaBean zu instanziieren oder eine zu finden. Sie werden auch verwendet, um einen browserspezifischen Code zu generieren oder eine Anfrage an eine neue Seite weiterzuleiten.

34) Erläutern Sie die Aktion jsp: setProperty.

Es wird verwendet, um Eigenschaften von Bohnen zuzuweisen, auf die zuvor verwiesen wurde.

jsp: setproperty wird ausgeführt, auch wenn eine neue Bean instanziiert oder eine vorhandene Bean gefunden wird.

Durch Hinzufügen von am Ende des Codes wird die Ausführungsbedingung invertiert, dh sie wird nicht ausgeführt, wenn ein vorhandenes Objekt gefunden wurde und nur, wenn ein neues Objekt instanziiert wurde.

35) Statischen Block definieren.

Es wird verwendet, um das statische Datenelement zu starten. Es wird vor dem Laden der Klasse ausgeführt.

36) Erklären Sie jsp: plugin action.

Diese Aktion hilft beim Einfügen eines bestimmten Objekts in den Browser oder beim Einbetten des Elements, das zum Festlegen der Ausführung des Applets mithilfe des Java-Plugins erforderlich ist.

37) Erläutern Sie die clientseitige und serverseitige Validierung.

Für die clientseitige Validierung wird Javascript verwendet. Es findet im Browser statt. Javascript wird verwendet, um die Formulardaten zu senden, wenn die Validierung erfolgreich ist. Validierungsfehler erfordern keine zusätzliche Netzwerkreise, da das Formular nicht gesendet werden kann.

Die Validierung wird auch nach der Übermittlung auf dem Server durchgeführt. Wenn die Validierung fehlschlägt, ist eine zusätzliche Netzwerkreise erforderlich, um das Formular erneut an den Client zu senden.

38) Was ist die Übersetzungsphase?

Die JSP-Engine übersetzt und kompiliert eine JSP-Datei in ein Servlet. Dieses Servlet wechselt in die Ausführungsphase, in der Anforderungen und Antworten verarbeitet werden. Sie werden zum ersten Mal kompiliert, wenn auf sie zugegriffen wird, es sei denn, sie wurden zuvor manuell kompiliert. Die manuelle oder explizite Zusammenstellung ist nützlich für lange und komplizierte Programme.

39) Führen Sie eine Browserumleitung von einer JSP-Seite aus.

<% response.sendRedirect(URL); %>

oder wir können den Speicherort des HTTP-Header-Attributs wie folgt ändern:

<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader(URL); %>

40) Verwenden Sie das Klonen von Objekten.

Das Klonen von Objekten wird verwendet, um eine genaue Kopie eines Objekts zu erstellen, indem derselbe Code eingegeben oder verschiedene andere Techniken verwendet werden.

41) Weiterleiten einer Anfrage an eine andere Quelle.

42) Wie kann die automatische Erstellung einer Sitzung auf einer JSP-Seite verhindert werden?

Die JSP-Seite erstellt automatisch Sitzungen für Anforderungen. Durch Eingabe der folgenden Angaben kann dies vermieden werden.

<%@ page session=”false” %>

43) Wie können Sie Scriptlet-Code in JSP vermeiden?

Anstelle von Scriptlet-Code können JavaBeans oder benutzerdefinierte Tags verwendet werden.

44) Erklären Sie die Methode jspDestroy ().

Immer wenn eine JSP-Seite zerstört werden soll, ruft der Container die Methode jspDestroy () über die Schnittstelle javax.servlet.jsp.JspPage auf. Servlets-Zerstörungsmethoden sind ähnlich. Es kann leicht überschrieben werden, um eine Bereinigung durchzuführen, beispielsweise beim Schließen einer Datenbankverbindung.

45) Erläutern Sie die Aktion .

Dies ist eine Aktion, die mit Standardaktionen zum Einschließen oder Weiterleiten verwendet wird. Es hilft bei der Übergabe der Parameternamen und -werte an eine Ressource.

46) Erklären Sie die statische Methode.

Eine statische Methode gehört zur Klasse und nicht zum Objekt einer Klasse. Es kann ohne Instanz einer Klasse aufgerufen werden. Statische Mitglieder können auch auf die statischen Daten zugreifen und deren Wert ändern.

47) Wie deaktiviere ich Scripting?

Das Scripting kann einfach deaktiviert werden, indem das scripting-ungültige Element des Deployment-Deskriptors auf true gesetzt wird. Es ist ein Unterelement der Eigenschaftsgruppe. Es kann auch falsch sein.

48) Definieren Sie die JSP-Deklaration.

JSP-Deklaration sind Tags, die zum Deklarieren von Variablen verwendet werden. Sie sind im <%!%> -Tag eingeschlossen. Sie werden zum Deklarieren von Funktionen und Variablen verwendet.

<%@page contentType=”text/html” %><%!int a=0;private int getCount(){a++;return a;}%>

Values of a are:

<%=getCount()%>

49) Wie kann verhindert werden, dass HTML-Ausgaben zwischengespeichert werden?

<%response.setHeader("Cache-Control", "no=store");response.setDateHeader("Expires", 0);%>

50) Wie ist JSP besser als die Servlet-Technologie?

JSP ist eine Technologie auf der Serverseite, die die Generierung von Inhalten vereinfacht. Sie sind dokumentenzentriert, während Servlets Programme sind. Eine Java-Serverseite kann Fragmente eines Java-Programms enthalten, die Java-Klassen ausführen und instanziieren. Sie treten jedoch in einer HTML-Vorlagendatei auf. Es bietet den Rahmen für die Entwicklung einer Webanwendung.