JSP-interviewspørgsmål (2025)
JSP-interviewspørgsmål til nybegyndere
1) Forklar JSP og fortæl dens anvendelser.
JSP står for Java Server sider. Det er en præsentationslagsteknologi uafhængig af platform. Den leveres med SUNs J2EE-platforme. De er ligesom HTML-sider, men med Java kodestykker indlejret i dem. De gemmes med en .jsp-udvidelse. De kompileres ved hjælp af JSP compiler i baggrunden og genererer en Servlet fra siden.
👉 Gratis PDF-download: JSP-interviewspørgsmål og -svar
2) Hvad er kravet til et tag-bibliotek?
En samling af brugerdefinerede tags kaldes et tagbibliotek. Tilbagevendende opgaver håndteres lettere og genbruges på tværs af flere applikationer for at øge produktiviteten. De bruges af webapplikationsdesignere, der fokuserer på præsentation i stedet for at få adgang til databaser eller andre tjenester. Nogle populære biblioteker er String tag bibliotek og Apache display tag bibliotek.
3) Forklar JSP-teknologi.
JSP er en standardudvidelse af Java og er defineret oven på Servlet-udvidelser. Dens mål er at forenkle administration og oprettelse af dynamiske websider. Det er platformsuafhængigt, sikkert, og det gør brug af Java som et scriptsprog på serversiden.
4) Forklar implicitte objekter i JSP.
Objekter, der er oprettet af webcontainer og indeholder information vedrørende en bestemt anmodning, applikation eller side kaldes Implicitte objekter. De er :
- svar
- undtagelse
- ansøgning
- anmode
- Session
- side
- ud
- config
- sideKontekst
5) Hvordan kan flere indsendelser på grund af klik på opdateringsknappen forhindres?
Ved at bruge et Post/Redirect/Get eller et PRG-mønster kan dette problem løses.
1) En formular udfyldt af brugeren sendes til serveren ved hjælp af POST- eller GET-metoden. Status i databasen og forretningsmodellen er opdateret.
2) Et omdirigeringssvar bruges til at svare af servlet'en for en visningsside.
3) En visning indlæses af browseren ved hjælp af GET-kommandoen, og der sendes ingen brugerdata. Dette er sikkert mod flere indsendelser, da det er en separat JSP-side.
6) Kan JSP-teknologi udvides?
Ja, JSP kan nemt udvides ved brug og ændring af tags, eller brugerdefinerede handlinger, indkapslet i tag-biblioteker.
7) skelne mellem response.sendRedirect(url) og .
<jsp.forward>
element videresender anmodningsobjektet fra 1 JSP-fil til en anden. Target fil kan være HTML, servlet eller en anden JSP-fil, men den skal være i samme applikationskontekst som videresendelse af JSP-fil.
sendRedirect send HTTP midlertidigt omdirigeringssvar til browseren. Browseren opretter derefter en ny anmodning til den omdirigerede side. Det dræber sessionsvariablerne.
8) Kan en efterfølgende anmodning tilgås med ens servlet-kode, hvis en request-attribut allerede er sendt i hans JSP?
Anmodningen falder uden for omfanget, og den kan derfor ikke tilgås. Men hvis en anmodningsattribut er sat i ens servlet, så kan den tilgås i hans JSP.
En JSP er en serversidekomponent, og siden er oversat til en Java servlet, og derefter udført. Kun HTML-kode gives som output.
9) Hvordan inkludere statiske filer i en JSP side?
Statiske sider er altid inkluderet ved hjælp af JSP include-direktivet. På denne måde udføres inklusion i oversættelsesfasen én gang. Bemærk, at der skal angives en relativ URL for filattribut. Selvom statiske ressourcer kan inkluderes, foretrækkes det ikke, da hver anmodning kræver medtagelse.
10) Hvorfor er det, at JComponent har add() og remove() metoder, men Component har ikke?
JComponent er en underklasse af Container. Den indeholder andre komponenter og JComponents.
JSP-interviewspørgsmål til erfarne fagfolk
Nedenfor er JSP-interviewspørgsmål og svar til erfarne kandidater:
11) Hvordan kan en trådsikker JSP-side implementeres?
Det kan gøres ved at få dem implementeret af SingleThreadModel Interface. Tilføj <%@page isThreadSafe=”false” %>-direktivet på JSP-siden.
12) Hvordan kan output fra JSP eller servlet side forhindres i at blive cachelagret af browseren?
Brug af passende HTTP-header-attributter for at forhindre, at det dynamiske indhold, der outputtes af en JSP-side, cachelagres af browseren.
13) Hvordan begrænser man sidefejl, der vises på en JSP-side?
Ved at opsætte en "ErrorPage"-attribut for PAGE-mappen til navnet på fejlsiden på JSP-siden og derefter i fejl-jsp-sidesættet "isErrorpage="TRUE", kan fejl forhindres i at blive vist.
14) Hvad er JSP-handlinger?
De er XML-tags, som dirigerer serveren til at bruge eksisterende komponenter eller kontroladfærd af JSP Engine. De består af et typisk præfiks af "jsp:" og handlingsnavn.
<jsp:include/> <jsp:getProperty/> <jsp:forward/> <jsp:setProperty/> <jsp:usebean/> <jsp:plugin/>
15) skelne mellem og <%@include file=...>.
Begge disse tags indeholder information fra 1 side til en anden.
Det første tag fungerer som et funktionskald mellem to Jsp'er. Det udføres hver gang klientsiden tilgås af klienten. Det er nyttigt at modularisere webapplikationen. Nyt indhold er inkluderet i outputtet.
Det andet tag-indhold i filen er tekstuelt indlejret med lignende direktiv. Det ændrede indhold er ikke inkluderet i outputtet. Det er nyttigt, når kode fra én jsp kræves af flere jsp'er.
16) Kan constructor bruges i stedet for init(), til at initialisere servlet?
Ja, det er muligt. Men det foretrækkes ikke, fordi init() blev udviklet, fordi tidligere Java versioner kunne ikke kalde konstruktører med argumenter dynamisk. Så de kunne ikke tildele en servletConfig. I dag kalder servlet-containere dog stadig kun no-arg constructor. Så der er ingen adgang til servletContext eller servletConfig.
17) Forklar livscyklusmetoder.
1) jsplnit(): Containeren kalder dette for at initialisere servlet-forekomsten. Det kaldes kun én gang for servlet-forekomsten og går forud for hver anden metode.
2) _jspService(): Containeren kalder dette for hver anmodning og sender det videre til objekterne.
3) jspDestroy(): Det kaldes af containeren lige før destruktion af instansen.
18) Forklar JSP Output kommentarer?
De er kommentarer, der kan ses i HTML-kildefil.
19) Definer udtryk
Expression tag bruges til at indsætte Java værdier direkte i outputtet. Dens syntaks er
<%=expression%>
Det indeholder et scriptsprogsudtryk, der evalueres, derefter konverteres til en streng og derefter indsættes, hvor udtrykket kommer i JSP-filen.
20) Definer sammensætning.
Komposition har et stærkere forhold til objektet end aggregation.
21) Definer JSP-scriptlet.
Det er et JSP-tag, der omslutter Java kode på JSP-sider. Deres syntaks er <% %>. Kode skrevet i scriptlet udføres hver gang programmet køres.
22) Hvordan kan information fra én JSP videregives til en anden JSP?
Tagget giver os mulighed for at videregive information mellem flere Jsp'er.
23) Forklar brugen af tag.
<jsp:useBean> id="beanInstName" scope= "page | application" class="ABC.class" type="ABC.class" </jsp:useBean>
Dette tag opretter en forekomst af java bean. Den forsøger først at finde ud af, om bean-instansen allerede eksisterer, og tildele lagrene en reference i variablen. Type er også angivet; ellers instansierer den fra den angivne klasse og lagrer en reference i den nye variabel.
24) Forklar håndtering af runtime undtagelser.
Errorpage-attribut bruges til at fjerne de runtime-undtagelser, der automatisk videresendes til en fejlbehandlingsside.
Den omdirigerer browseren til JSP-siden error.jsp, hvis en ufanget undtagelse er ansigter under anmodningshåndtering. Det er en fejlbehandlingsside.
25) Hvorfor starter _jspService() med et '_', men det gør andre livscyklusmetoder ikke?
Uanset indhold lavet på en jsp-side går inde i _jspService()-metoden af containeren. Hvis det er tilsidesat, giver compileren en fejl, men de andre 2 livscyklusser kan nemt tilsidesættes. Så '_' viser, at vi ikke kan tilsidesætte denne metode.
26) Forklar de forskellige omfangsværdier for tag.
tag bruges til at bruge et hvilket som helst java-objekt på jsp-siden. Nogle omfangsværdier er:
1) ansøgning
2) anmodning
3) side
4) session
27) Vis de 2 typer kommentarer i JSP.
De 2 typer er:
<%–JSP Comment–%> <!–HTML comment–>
28) Kan statisk metode tilsidesættes?
Vi kan erklære statiske metoder med samme signatur i underklassen, men det anses ikke for at være tilsidesættende, da der ikke vil være nogen run-time polymorfi. Derfor er svaret 'Nej'.
29) Forklar JSP-direktiver.
JSP-direktiver er beskeder til JSP Engine. De fungerer som en besked fra side til container og styrer behandlingen af hele siden. De kan indstille globale værdier som klasseerklæring. De producerer ikke output og er indesluttet i <%@….%>
30) Forklar side Direktiverne.
Sidedirektiver informerer JSP Engine om overskrifter og faciliteter, som siden modtager fra miljøet. Den findes øverst på alle JSP-sider. Dens syntaks er <%@ page attribute=”value”>
31) Vis attributter for sidedirektiver.
- Session: Det viser, om en sessionsdata er tilgængelig på siden.
- Importere: det viser pakker, der er importeret.
- erELIgnoreret: Det viser, om EL-udtryk ignoreres, når JSP oversættes til en servlet.
- indholdstype: det giver brugeren mulighed for at angive indholdstypen på siden.
32) Hvad er Include-direktivet?
Inkluderingsdirektivet indsætter statisk indholdet af en ressource i den aktuelle JSP. Det hjælper med genbrug af kode uden duplikering. og inkluderer indholdet af filen på oversættelsestidspunktet. Dens syntaks er som følger <%@ include file=”Filename”%>
.
33) Hvad er standardhandlinger i JSP?
De påvirker den overordnede køretidsadfærd for en side og svar sendt til klienten. De bruges til at inkludere en fil på anmodningstidspunktet for at instantiere en JavaBean eller find en. De bruges også til at generere en browserspecifik kode eller videresende en anmodning til en ny side.
34) Forklar handlingen jsp:setProperty.
Det bruges til at give værdier til egenskaber af bønner, der er blevet refereret til på forhånd.
…
<jsp:setProperty name=”ABC” property=”myProperty”…
jsp:setproperty udføres, selvom en ny bean instantieres, eller der findes en eksisterende bean.
Ved at tilføje i slutningen af koden inverteres betingelsen for eksekvering, dvs. den udføres ikke, hvis eksisterende objekt blev fundet, og kun hvis et nyt objekt blev instansieret.
35) Definer statisk blok.
Det bruges til at starte det statiske datamedlem. Det udføres før klasseindlæsning.
36) Forklar jsp:plugin handling.
Denne handling hjælper med at indsætte et bestemt objekt i browseren eller indlejre det nødvendige element for at specificere kørsel af applet vha. Java plugin.
37) Forklar klient- og serversidevalidering.
Javascript bruges til validering på klientsiden. Det foregår i browseren. Javascript bruges til at indsende formulardataene, hvis valideringen lykkes. Valideringsfejl kræver ingen ekstra netværksrejse, fordi formularen ikke kan indsendes.
Validering udføres også i serveren efter indsendelse. Hvis valideringen mislykkes, kræves der en ekstra netværkstur for at sende formularen til klienten igen.
38) Hvad er oversættelsesfasen?
JSP-motoren oversætter og kompilerer en JSP-fil til en servlet. Denne servlet flytter til udførelsesfasen, hvor anmodninger og svar håndteres. De kompileres for første gang, de tilgås, medmindre de kompileres manuelt på forhånd. Den manuelle eller eksplicitte kompilering er nyttig til lange og indviklede programmer.
39) Udfør en browseromdirigering fra en JSP-side.
<% response.sendRedirect(URL); %>
eller vi kan ændre placeringen af HTTP-header-attributten som følger:
<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader(URL); %>
40) Angiv anvendelser af objektkloning.
Objektkloning bruges til at skabe en nøjagtig kopi af et objekt ved at skrive den samme kode eller bruge forskellige andre teknikker.
41) Sådan videresender du en anmodning til en anden kilde.
<jsp:forward page="/Page2.jsp" />
42) Hvordan kan automatisk oprettelse af session forhindres på en JSP-side?
JSP-siden opretter automatisk sessioner for anmodninger. Ved at skrive følgende kan det undgås.
<%@ page session=”false” %>
43) Hvordan kan du undgå scriptlet-kode i JSP?
JavaBønner eller brugerdefinerede tags kan bruges i stedet for scriptlet-kode.
44) Forklar metoden jspDestroy().
Når en JSP-side er ved at blive ødelagt, kalder containeren metoden jspDestroy() fra javax.servlet.jsp.JspPage-grænsefladen. Servlets ødelægge metoder ligner det. Det kan let tilsidesættes at udføre oprydning, som når du lukker en databaseforbindelse.
45) Forklar handling.
Det er en handling, der bruges sammen med inkludere eller videresende standardhandlinger. Det hjælper med at videregive parameternavne og værdier til en ressource.
46) Forklar statisk metode.
En statisk metode er af klassen og ikke objektet for en klasse. Det kan påberåbes uden forekomst af en klasse. Statiske medlemmer kan også få adgang til de statiske data og ændre deres værdi.
47) Hvordan deaktiverer man scripting?
Scripting kan nemt deaktiveres ved at indstille scripting-ugyldigt element i implementeringsbeskrivelsen til sand. Det er et underelement af ejendomsgruppen. Det kan også være falsk.
48) Definer JSP-erklæring.
JSP Declaration er tags, der bruges til at deklarere variabler. De er omgivet af <%!%> tag. De bruges til at erklære funktioner og variabler.
<%@page contentType=”text/html” %> <html> <body> <%! int a=0; private int getCount(){ a++; return a; }%> <p>Values of a are:</p> <p><%=getCount()%></p> </body> </html>
49) Hvordan kan HTML-output forhindres i at blive cachelagret?
<% response.setHeader("Cache-Control", "no=store"); response.setDateHeader("Expires", 0); %>
50) Hvordan er JSP bedre end Servlet-teknologi?
JSP er en teknologi på serverens side for at gøre indholdsgenerering enkel. De er dokumentcentrerede, mens servlets er programmer. EN Java serverside kan indeholde fragmenter af Java program, som udfører og instansierer Java klasser. De forekommer dog i HTML-skabelonfilen. Det giver rammerne for udvikling af en webapplikation.
Disse interviewspørgsmål vil også hjælpe i din viva(orals)