Top 50 JSP-interviewvragen & Antwoorden

Anonim

Download PDF

1) Leg JSP uit en vertel het gebruik ervan.

JSP staat voor Java Server Pages. Het is een presentatielaagtechnologie die onafhankelijk is van het platform. Het wordt geleverd met de J2EE-platforms van SUN. Ze zijn als HTML-pagina's, maar met daarin ingesloten Java-codestukken. Ze worden opgeslagen met de extensie .jsp. Ze zijn gecompileerd met behulp van de JSP-compiler op de achtergrond en genereren een Servlet vanaf de pagina.

2) Wat is de vereiste van een tagbibliotheek?

Een verzameling aangepaste tags wordt een tagbibliotheek genoemd. Terugkerende taken worden gemakkelijker afgehandeld en hergebruikt in meerdere applicaties om de productiviteit te verhogen. Ze worden gebruikt door ontwerpers van webtoepassingen die zich concentreren op de presentatie in plaats van toegang te krijgen tot de database of andere services. Enkele populaire bibliotheken zijn String-tagbibliotheek en Apache-display-tagbibliotheek.

3) Leg JSP-technologie uit.

JSP is een standaarduitbreiding van Java en wordt bovenop Servlet-extensies gedefinieerd. Het doel is om het beheer en de creatie van dynamische webpagina's te vereenvoudigen. Het is platformonafhankelijk, veilig en maakt gebruik van Java als scripttaal aan de serverzijde.

4) Leg impliciete objecten in JSP uit.

Objecten die zijn gemaakt door webcontainer en informatie bevatten over een bepaald verzoek, toepassing of pagina, worden Impliciete Objecten genoemd. Zij zijn :

  • reactie
  • uitzondering
  • toepassing
  • verzoek
  • sessie
  • bladzijde
  • uit
  • config
  • pageContext

5) Hoe kunnen meerdere inzendingen als gevolg van het klikken op de vernieuwingsknop worden voorkomen?

Met behulp van een Post / Redirect / Get- of een PRG-patroon kan dit probleem worden opgelost.

1) Een door de gebruiker ingevuld formulier wordt naar de server gestuurd met behulp van de POST- of GET-methode. De toestand in de database en het bedrijfsmodel worden bijgewerkt.

2) Een omleidingsreactie wordt gebruikt om te antwoorden door de servlet voor een weergavepagina.

3) Een weergave wordt door de browser geladen met het GET-commando en er worden geen gebruikersgegevens verzonden. Dit is veilig voor meerdere inzendingen omdat het een aparte JSP-pagina is.

6) Is JSP-technologie uitbreidbaar?

Ja, JSP is gemakkelijk uitbreidbaar door gebruik en wijziging van tags, of aangepaste acties, ingekapseld in tagbibliotheken.

7) Maak onderscheid tussen response.sendRedirect (url) en

-element stuurt het verzoekobject van het ene JSP-bestand naar het andere. Doelbestand kan HTML, servlet of een ander JSP-bestand zijn, maar het moet in dezelfde toepassingscontext staan ​​als het doorsturen van JSP-bestanden.

sendRedirect stuurt een tijdelijke HTTP-omleidingsreactie naar de browser. De browser maakt vervolgens een nieuw verzoek aan voor de omgeleide pagina. Het doodt de sessievariabelen.

8) Kan een volgend verzoek worden geopend met iemands servletcode, als een verzoekattribuut al in zijn JSP is verzonden?

Het verzoek valt buiten het bereik en kan dus niet worden geopend. Als echter een verzoekattribuut is ingesteld in iemands servlet, kan het worden benaderd in zijn JSP.

Een JSP is een component aan de serverzijde en de pagina wordt vertaald naar een Java-servlet en vervolgens uitgevoerd. Alleen HTML-code wordt als uitvoer gegeven.

9) Hoe kan ik statische bestanden opnemen in een JSP-pagina?

Statische pagina's worden altijd opgenomen met behulp van de JSP-instructie include. Op deze manier wordt de opname één keer in de vertaalfase uitgevoerd. Merk op dat een relatieve URL moet worden opgegeven voor het bestandskenmerk. Hoewel statische bronnen kunnen worden opgenomen, heeft dit niet de voorkeur omdat elk verzoek moet worden opgenomen.

10) Waarom heeft JComponent de methoden add () en remove (), maar Component niet?

JComponent is een subklasse van Container. Het bevat andere componenten en JComponents.

11) Hoe kan een threadveilige JSP-pagina worden geïmplementeerd?

Het kan worden gedaan door ze te laten implementeren door de SingleThreadModel-interface. Voeg <% @ page isThreadSafe = "false"%> instructie toe aan de JSP-pagina.

12) Hoe kan worden voorkomen dat de uitvoer van de JSP- of servletpagina door de browser in de cache wordt opgeslagen?

Gebruik van de juiste HTTP-headerattributen om te voorkomen dat de dynamische inhoud die wordt uitgevoerd door een JSP-pagina in de cache wordt opgeslagen door de browser.

13) Hoe kan ik de weergave van paginafouten op een JSP-pagina beperken?

Door een "ErrorPage" -attribuut van de PAGE-directory in te stellen op de naam van de foutpagina in de JSP-pagina, en vervolgens in de fout jsp-paginaset "isErrorpage =" TRUE ", kunnen fouten worden gestopt met het weergeven van fouten.

14) Wat zijn JSP-acties?

Het zijn XML-tags, die de server leiden naar het gebruik van bestaande componenten of het besturingsgedrag van JSP Engine. Ze bestaan ​​uit een typisch voorvoegsel van "jsp: en de naam van de actie.

15) Maak onderscheid tussen en <% @ include file =…>.

Beide tags bevatten informatie van de ene pagina naar de andere.

De eerste tag fungeert als een functieaanroep tussen twee Jsp's. Het wordt uitgevoerd elke keer dat de clientpagina wordt geopend door de client. Het is handig om de webapplicatie te modulariseren. Nieuwe inhoud is opgenomen in de output.

De tweede tag-inhoud van het bestand is tekstueel ingesloten met een vergelijkbare instructie. De gewijzigde inhoud wordt niet meegenomen in de uitvoer. Het is handig als code van één jsp vereist is voor meerdere jsp's.

16) Kan constructor worden gebruikt in plaats van init () om servlet te initialiseren?

Ja, het is mogelijk. Maar het heeft niet de voorkeur omdat init () is ontwikkeld omdat eerdere Java-versies constructors niet dynamisch konden aanroepen met argumenten. Ze konden dus geen servletConfig. Tegenwoordig roepen servlet-containers echter nog steeds alleen de constructor no-arg aan. Er is dus geen toegang tot servletContext of servletConfig.

17) Leg levenscyclusmethoden uit. 1)

jsplnit () : de container roept dit aan om de servlet-instantie te initialiseren. Het wordt slechts één keer aangeroepen voor de servlet-instantie en is voorafgegaan aan elke andere methode. 2)

_jspService () : de container roept dit voor elk verzoek aan en geeft het door aan de objecten. 3)

jspDestroy () : Het wordt aangeroepen door de container net voordat de instantie wordt vernietigd.

18) JSP-uitvoercommentaar uitleggen?

Het zijn opmerkingen die kunnen worden bekeken in HTML-bronbestand.

19) Definieer expressie

Expression-tag wordt gebruikt om Java-waarden rechtstreeks in de uitvoer in te voegen. De syntaxis is

<% = expression%>

Het bevat een scripttaaluitdrukking die wordt geëvalueerd, vervolgens wordt geconverteerd naar een tekenreeks en vervolgens wordt ingevoegd waar de uitdrukking in het JSP-bestand staat.

20) Definieer de compositie.

Compositie heeft een sterkere relatie met het object dan Aggregatie.

21) Definieer het JSP-scriptlet.

Het is een JSP-tag die Java-code in JSP-pagina's omsluit. Hun syntaxis is <%%>. Code geschreven in scriptlet wordt uitgevoerd elke keer dat het programma wordt uitgevoerd.

22) Hoe kan informatie van de ene JSP worden doorgegeven aan een andere JSP?

De tag stelt ons in staat om informatie tussen meerdere Jsp's door te geven.

23) Verklaar het gebruik van de -tag.

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

Deze tag maakt een instantie van Java Bean. Het probeert eerst te achterhalen of de bean-instantie al bestaat en wijst een verwijzing toe in de variabele. Type is ook gespecificeerd; anders instantieert het vanuit de gespecificeerde klasse en slaat een verwijzing op in de nieuwe variabele.

24) Leg de behandeling van uitzonderingen tijdens de uitvoering uit.

Errorpage-attribuut wordt gebruikt om de runtime-uitzonderingen op te sporen die automatisch naar een foutverwerkingspagina worden doorgestuurd.

Het leidt de browser om naar JSP-paginafout.jsp als een niet-afgevangen uitzondering wordt geconfronteerd tijdens het afhandelen van verzoeken. Het is een foutverwerkingspagina.

25) Waarom begint _jspService () met een '_' en andere levenscyclusmethoden niet?

Welke inhoud dan ook die op een jsp-pagina wordt gemaakt, gaat door de container binnen de methode _jspService (). Als het wordt overschreven, geeft de compiler een foutmelding, maar de andere 2 levenscycli kunnen gemakkelijk worden overschreven. Dus '_' laat zien dat we deze methode niet kunnen negeren.

26) Verklaar de verschillende bereikwaarden voor de tag .

tag wordt gebruikt om elk java-object op de jsp-pagina te gebruiken. Enkele bereikwaarden zijn:

1) toepassing

2) verzoek

3) pagina

4) sessie

27) Toon de 2 soorten opmerkingen in JSP.

De 2 soorten zijn:

<%-JSP Comment-%>

28) Kan de statische methode worden overschreven?

We kunnen statische methoden met dezelfde handtekening in een subklasse declareren, maar het wordt niet als overheersend beschouwd omdat er geen run-time polymorfisme zal zijn. Daarom is het antwoord 'nee'.

29) Leg JSP-richtlijnen uit.

JSP-richtlijnen zijn berichten naar JSP Engine. Ze dienen als bericht van pagina tot container en regelen de verwerking van de hele pagina. Ze kunnen globale waarden instellen, zoals klassendeclaratie. Ze produceren geen output en zijn ingesloten in <% @….%>

30) Leg de pge-richtlijnen uit.

Paginarichtlijnen informeren de JSP Engine over headers en faciliteiten die de pagina uit de omgeving ontvangt. Het staat bovenaan alle JSP-pagina's. De syntaxis is <% @ page attribute = ”value”>

31) Toon attributen van paginarichtlijnen.

1) Sessie: het laat zien of er sessiegegevens beschikbaar zijn op de pagina.

2) Import: het toont pakketten die zijn geïmporteerd.

3) isELIgnored: Het laat zien of EL-expressies worden genegeerd wanneer JSP wordt vertaald in een servlet.

4) contentType: hiermee kan de gebruiker het inhoudstype van de pagina specificeren.

32) Wat is de include-richtlijn?

De include-richtlijn voegt de inhoud van een bron statisch in de huidige JSP in. Het helpt bij het hergebruik van code zonder duplicatie. en bevat de inhoud van het bestand op het moment van vertaling. De syntaxis is als volgt: <% @ include file = ”Bestandsnaam”%>.

33) Wat zijn standaardacties in JSP?

Ze beïnvloeden het algemene runtime-gedrag van een pagina en de respons die naar de client wordt gestuurd. Ze worden gebruikt om op verzoek een bestand op te nemen, om een ​​JavaBean te instantiëren of om er een te vinden. Ze worden ook gebruikt om een ​​browserspecifieke code te genereren of een verzoek door te sturen naar een nieuwe pagina.

34) Leg de actie jsp: setProperty uit.

Het wordt gebruikt om waarden te geven aan eigenschappen van bonen waarnaar vooraf is verwezen.

jsp: setproperty wordt uitgevoerd, zelfs als een nieuwe bean wordt geïnstantieerd of een bestaande bean wordt gevonden.

Door aan het einde van de code toe te voegen, wordt de voorwaarde voor uitvoering omgekeerd, dwz het wordt niet uitgevoerd als een bestaand object werd gevonden en alleen als een nieuw object werd geïnstantieerd.

35) Definieer een statisch blok.

Het wordt gebruikt om het statische gegevenslid te starten. Het wordt uitgevoerd voordat de klasse wordt geladen.

36) Leg jsp: plugin action uit.

Deze actie helpt bij het invoegen van een specifiek object in de browser of het insluiten van het element dat nodig is om de uitvoering van de applet te specificeren met behulp van de Java-plug-in.

37) Verklaar validatie aan client- en serverzijde.

Javascript wordt gebruikt voor validatie aan de clientzijde. Het vindt plaats in de browser. Javascript wordt gebruikt om de formuliergegevens in te dienen als de validatie is geslaagd. Validatiefouten vereisen geen extra netwerkreis omdat het formulier niet kan worden ingediend.

Validatie wordt ook uitgevoerd in de server na indiening. Als de validatie mislukt, is een extra netwerkreis vereist om het formulier opnieuw naar de klant te verzenden.

38) Wat is de vertaalfase?

JSP-engine vertaalt en compileert een JSP-bestand naar een servlet. Deze servlet gaat naar de uitvoeringsfase waar verzoeken en antwoorden worden afgehandeld. Ze worden voor het eerst gecompileerd, tenzij ze van tevoren handmatig worden gecompileerd. De handleiding of expliciete compilatie is handig voor lange en ingewikkelde programma's.

39) Voer een browseromleiding uit vanaf een JSP-pagina.

<% response.sendRedirect(URL); %>

of we kunnen de locatie van het HTTP-headerattribuut als volgt wijzigen:

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

40) Gebruik maken van Object Cloning.

Object klonen wordt gebruikt om een ​​exacte kopie van een object te maken door dezelfde code te typen of door verschillende andere technieken te gebruiken.

41) Hoe u een verzoek naar een andere bron kunt doorsturen.

42) Hoe kan het automatisch aanmaken van een sessie op een JSP-pagina worden voorkomen?

JSP-pagina maakt automatisch sessies voor verzoeken. Door het volgende te typen, kan het worden vermeden.

<%@ page session=”false” %>

43) Hoe kun je scriptletcode in JSP vermijden?

In plaats van scriptletcode kunnen JavaBeans of Custom Tags worden gebruikt.

44) Leg de methode jspDestroy () uit.

Wanneer een JSP-pagina op het punt staat te worden vernietigd, roept de container de methode jspDestroy () aan vanuit de interface javax.servlet.jsp.JspPage. Servlets vernietigen methoden zijn vergelijkbaar met. Het kan gemakkelijk worden overschreven om opruiming uit te voeren, zoals bij het sluiten van een databaseverbinding.

45) Leg de actie uit.

Het is een actie die wordt gebruikt met standaardacties voor opnemen of doorsturen. Het helpt bij het doorgeven van de parameternamen en waarden aan een bron.

46) Leg de statische methode uit.

Een statische methode is van de klasse en niet het object van een klasse. Het kan worden aangeroepen zonder instantie van een klasse. Statische leden hebben ook toegang tot de statische gegevens en kunnen de waarde ervan wijzigen.

47) Hoe kan ik scripting uitschakelen?

Scripting kan eenvoudig worden uitgeschakeld door scripting-invalid element van de deployment descriptor in te stellen op true. Het is een subelement van de eigenschappengroep. Het kan ook vals zijn.

48) Definieer de JSP-verklaring.

JSP-declaratie zijn tags die worden gebruikt bij het declareren van variabelen. Ze zijn ingesloten in de tag <%!%>. Ze worden gebruikt bij het declareren van functies en variabelen.

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

Values of a are:

<%=getCount()%>

49) Hoe kan worden voorkomen dat HTML-uitvoer in de cache wordt opgeslagen?

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

50) Hoe is JSP beter dan Servlet-technologie?

JSP is een technologie aan de kant van de server om het genereren van inhoud eenvoudig te maken. Ze zijn documentgericht, terwijl servlets programma's zijn. Een Java-serverpagina kan fragmenten van het Java-programma bevatten, die Java-klassen uitvoeren en instantiëren. Ze komen echter voor in een HTML-sjabloonbestand. Het biedt het raamwerk voor de ontwikkeling van een webapplicatie.