JSP-intervjuspørsmål (2025)
JSP-intervjuspørsmål for ferskinger
1) Forklar JSP og fortell bruken av den.
JSP står for Java Serversider. Det er en presentasjonslagteknologi uavhengig av plattform. Den kommer med SUNs J2EE-plattformer. De er som HTML-sider, men med Java kodebiter innebygd i dem. De lagres med en .jsp-utvidelse. De er kompilert med JSP-kompilator i bakgrunnen og genererer en Servlet fra siden.
👉 Gratis PDF-nedlasting: JSP-intervjuspørsmål og -svar
2) Hva er kravet til et tag-bibliotek?
En samling av egendefinerte tagger kalles et tagbibliotek. Gjentakende oppgaver håndteres lettere og gjenbrukes på tvers av flere applikasjoner for å øke produktiviteten. De brukes av webapplikasjonsdesignere som fokuserer på presentasjon i stedet for å få tilgang til databaser eller andre tjenester. Noen populære biblioteker er String tag library og Apache display tag library.
3) Forklar JSP-teknologi.
JSP er en standard utvidelse av Java og er definert på toppen av Servlet-utvidelser. Målet er å forenkle administrasjon og oppretting av dynamiske nettsider. Den er plattformuavhengig, sikker, og den gjør bruk av Java som et skriptspråk på serversiden.
4) Forklar implisitte objekter i JSP.
Objekter opprettet av nettbeholder og inneholder informasjon om en bestemt forespørsel, applikasjon eller side kalles Implisitte objekter. De er:
- svar
- unntak
- søknad
- anmode
- Session
- side
- ut
- config
- sideKontekst
5) Hvordan kan flere innsendinger på grunn av klikk på oppdateringsknappen forhindres?
Ved å bruke et Post/Redirect/Get eller et PRG-mønster kan dette problemet løses.
1) Et skjema fylt ut av brukeren sendes til serveren ved hjelp av POST- eller GET-metoden. Tilstanden i databasen og forretningsmodellen er oppdatert.
2) Et omdirigeringssvar brukes til å svare av servleten for en visningsside.
3) En visning lastes av nettleseren ved å bruke GET-kommandoen og ingen brukerdata sendes. Dette er trygt fra flere innsendinger da det er en egen JSP-side.
6) Er JSP-teknologi utvidbar?
Ja, JSP kan enkelt utvides ved bruk og modifikasjon av tagger, eller egendefinerte handlinger, innkapslet i tag-biblioteker.
7) Skille mellom response.sendRedirect(url) og .
<jsp.forward>
element videresender forespørselsobjektet fra 1 JSP-fil til en annen. Target filen kan være HTML, servlet eller en annen JSP-fil, men den bør være i samme applikasjonskontekst som videresending av JSP-fil.
sendRedirect send HTTP midlertidig omdirigeringssvar til nettleseren. Nettleseren oppretter deretter en ny forespørsel for den omdirigerte siden. Det dreper øktvariablene.
8) Kan en påfølgende forespørsel aksesseres med ens servletkode, hvis et forespørselsattributt allerede er sendt i hans JSP?
Forespørselen går utenfor omfanget, og kan derfor ikke åpnes. Imidlertid, hvis et forespørselsattributt er satt i ens servlet, kan det nås i hans JSP.
En JSP er en serversidekomponent og siden er oversatt til en Java servlet, og deretter utført. Bare HTML-kode er gitt som utdata.
9) Hvordan inkludere statiske filer på en JSP-side?
Statiske sider er alltid inkludert ved å bruke JSP include-direktivet. På denne måten utføres inkluderingen i oversettelsesfasen én gang. Merk at en relativ URL må oppgis for filattributt. Selv om statiske ressurser kan inkluderes, er det ikke foretrukket siden hver forespørsel krever inkludering.
10) Hvorfor er det at JComponent har add() og remove() metoder, men Component har ikke?
JComponent er en underklasse av Container. Den inneholder andre komponenter og JComponents.
JSP-intervjuspørsmål for erfarne fagfolk
Nedenfor er JSP-intervjuspørsmål og svar for erfarne kandidater:
11) Hvordan kan en trådsikker JSP-side implementeres?
Det kan gjøres ved å få dem implementert av SingleThreadModel Interface. Legg til <%@page isThreadSafe=”false” %>-direktivet på JSP-siden.
12) Hvordan kan utdataene fra JSP- eller servletsiden forhindres fra å bli bufret av nettleseren?
Bruk av passende HTTP-header-attributter for å forhindre at det dynamiske innholdet som sendes ut av en JSP-side bufres av nettleseren.
13) Hvordan begrense sidefeil som vises på en JSP-side?
Ved å sette opp et "ErrorPage"-attributt for PAGE-katalogen til navnet på feilsiden på JSP-siden, og deretter i feil-jsp-sidesettet "isErrorpage="TRUE", kan feilene stoppes fra å vises.
14) Hva er JSP-handlinger?
De er XML-koder, som leder serveren til å bruke eksisterende komponenter eller kontrollere atferden til JSP Engine. De består av et typisk prefiks for "jsp:" og handlingsnavn.
<jsp:include/> <jsp:getProperty/> <jsp:forward/> <jsp:setProperty/> <jsp:usebean/> <jsp:plugin/>
15) Skille mellom og <%@include file=...>.
Begge disse taggene inneholder informasjon fra én side til en annen.
Den første taggen fungerer som et funksjonskall mellom to Jsp-er. Den utføres hver gang klientsiden får tilgang til klienten. Det er nyttig å modularisere nettapplikasjonen. Nytt innhold er inkludert i utdataene.
Det andre tag-innholdet i filen er tekstlig innebygd med lignende direktiv. Det endrede innholdet er ikke inkludert i utdataene. Det er nyttig når kode fra én jsp kreves av flere jsp-er.
16) Kan konstruktør brukes i stedet for init(), for å initialisere servlet?
Ja, det er mulig. Men det er ikke foretrukket fordi init() ble utviklet fordi tidligere Java versjoner kunne ikke påkalle konstruktører med argumenter dynamisk. Så de kunne ikke tilordne en servletConfig. I dag kaller servletbeholdere fortsatt bare no-arg constructor. Så det er ingen tilgang til servletContext eller servletConfig.
17) Forklar livssyklusmetoder.
1) jsplnit(): Beholderen kaller dette for å initialisere servlet-forekomsten. Den kalles bare én gang for servlet-forekomsten og går foran hver annen metode.
2) _jspService(): Containeren kaller dette for hver forespørsel og sender det videre til objektene.
3) jspDestroy(): Det kalles opp av containeren rett før ødeleggelse av forekomsten.
18) Forklar JSP Output kommentarer?
De er kommentarer som kan vises i HTML-kildefilen.
19) Definer uttrykk
Expression tag brukes til å sette inn Java verdier direkte i utgangen. Syntaksen er
<%=expression%>
Den inneholder et skriptspråkuttrykk som evalueres, deretter konverteres til en streng og deretter settes inn der uttrykket kommer i JSP-filen.
20) Definer sammensetning.
Komposisjon har et sterkere forhold til objektet enn Aggregasjon.
21) Definer JSP-skriptlet.
Det er en JSP-tag som omslutter Java kode på JSP-sider. Syntaksen deres er <% %>. Kode skrevet i scriptlet kjøres hver gang programmet kjøres.
22) Hvordan kan informasjon fra en JSP overføres til en annen JSP?
Taggen lar oss sende informasjon mellom flere Jsp-er.
23) Forklar bruken av tag.
<jsp:useBean> id="beanInstName" scope= "page | application" class="ABC.class" type="ABC.class" </jsp:useBean>
Denne taggen lager en forekomst av java bean. Den prøver først å finne om bean-forekomsten allerede eksisterer og tilordne lagrene en referanse i variabelen. Type er også spesifisert; ellers instansierer den fra den spesifiserte klassen og lagrer en referanse i den nye variabelen.
24) Forklar håndtering av kjøretidsunntak.
Errorpage-attributt brukes til å fjerne kjøretidsunntakene som videresendes automatisk til en feilbehandlingsside.
Den omdirigerer nettleseren til JSP-siden error.jsp hvis et uoppdaget unntak er ansikter under forespørselshåndtering. Det er en feilbehandlingsside.
25) Hvorfor starter _jspService() med en '_', men andre livssyklusmetoder gjør det ikke?
Uansett innhold laget på en jsp-side går inn i _jspService()-metoden av containeren. Hvis den overstyres, gir kompilatoren en feil, men de to andre livssyklusene kan enkelt overstyres. Så '_' viser at vi ikke kan overstyre denne metoden.
26) Forklar de ulike omfangsverdiene for tag.
taggen brukes til å bruke et hvilket som helst java-objekt på jsp-siden. Noen omfangsverdier er:
1) søknad
2) forespørsel
3) side
4) økt
27) Vis de 2 typene kommentarer i JSP.
De 2 typene er:
<%–JSP Comment–%> <!–HTML comment–>
28) Kan statisk metode overstyres?
Vi kan deklarere statiske metoder med samme signatur i underklassen, men det anses ikke som overordnet, da det ikke vil være noen polymorfisme under kjøring. Derfor er svaret "Nei".
29) Forklar JSP-direktiver.
JSP-direktiver er meldinger til JSP Engine. De fungerer som en melding fra side til container og kontrollerer behandlingen av hele siden. De kan angi globale verdier som klasseerklæring. De produserer ikke utdata og er omsluttet av <%@….%>
30) Forklar sidedirektiver.
Sidedirektiver informerer JSP Engine om overskrifter og fasiliteter som siden mottar fra miljøet. Den finnes øverst på alle JSP-sider. Syntaksen er <%@ page attribute=”value”>
31) Vis attributter til sidedirektiver.
- Økt: Den viser om en øktdata er tilgjengelig for siden.
- Importere: den viser pakker som er importert.
- erELignert: Den viser om EL-uttrykk ignoreres når JSP oversettes til en servlett.
- contentType: den lar brukeren spesifisere innholdstypen på siden.
32) Hva er Inkluder-direktivet?
Inkluderingsdirektivet setter statisk inn innholdet av en ressurs i gjeldende JSP. Det hjelper med gjenbruk av kode uten duplisering. og inkluderer innholdet i filen på oversettelsestidspunktet. Syntaksen er som følger <%@ include file=”Filename”%>
.
33) Hva er standardhandlinger i JSP?
De påvirker den generelle kjøretidsatferden til en side og svar sendt til klienten. De brukes til å inkludere en fil på forespørselstidspunktet, for å instansiere en JavaBean eller finn en. De brukes også til å generere en nettleserspesifikk kode eller videresende en forespørsel til en ny side.
34) Forklar handlingen jsp:setProperty.
Den brukes til å gi verdier til egenskaper til bønner som har blitt referert til på forhånd.
…
<jsp:setProperty name=”ABC” property=”myProperty”…
jsp:setproperty kjøres selv om en ny bean er instansiert eller eksisterende bean blir funnet.
Ved å legge til på slutten av koden inverteres betingelsen for utførelse, dvs. den utføres ikke hvis eksisterende objekt ble funnet og bare hvis et nytt objekt ble instansiert.
35) Definer statisk blokk.
Den brukes til å starte det statiske datamedlemmet. Den utføres før klasseinnlasting.
36) Forklar jsp:plugin-handlingen.
Denne handlingen hjelper til med å sette inn et spesifikt objekt i nettleseren eller bygge inn elementet som trengs for å spesifisere kjøringen av appleten ved hjelp av Java plugin.
37) Forklar klient- og serversidevalidering.
Javascript brukes til validering på klientsiden. Det foregår i nettleseren. Javascript brukes til å sende inn skjemadataene hvis valideringen er vellykket. Valideringsfeil krever ingen ekstra nettverksreise fordi skjemaet ikke kan sendes inn.
Validering utføres også i serveren etter innsending. Hvis valideringen mislykkes, kreves det ekstra nettverksreise for å sende skjemaet til klienten på nytt.
38) Hva er oversettelsesfasen?
JSP-motoren oversetter og kompilerer en JSP-fil til en servlet. Denne servleten flytter til utførelsesfasen hvor forespørsler og svar håndteres. De kompileres for første gang de åpnes med mindre de kompileres manuelt på forhånd. Den manuelle eller eksplisitte kompileringen er nyttig for lange og kronglete programmer.
39) Utfør en nettleseromdirigering fra en JSP-side.
<% response.sendRedirect(URL); %>
eller vi kan endre plasseringen av HTTP-header-attributtet som følger:
<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader(URL); %>
40) Gi bruk av objektkloning.
Objektkloning brukes til å lage en eksakt kopi av et objekt ved å skrive den samme koden eller bruke forskjellige andre teknikker.
41) Hvordan videresende en forespørsel til en annen kilde.
<jsp:forward page="/Page2.jsp" />
42) Hvordan kan automatisk opprettelse av økter forhindres på en JSP-side?
JSP-siden oppretter automatisk økter for forespørsler. Ved å skrive følgende kan det unngås.
<%@ page session=”false” %>
43) Hvordan kan du unngå scriptlet-kode i JSP?
JavaBønner eller egendefinerte tagger kan brukes i stedet for scriptlet-kode.
44) Forklar jspDestroy()-metoden.
Når en JSP-side er i ferd med å bli ødelagt, påkaller beholderen jspDestroy()-metoden fra javax.servlet.jsp.JspPage-grensesnittet. Servlets ødelegge metoder ligner på det. Det kan enkelt overstyres å utføre opprydding, som når du lukker en databasetilkobling.
45) Forklar handling.
Det er en handling som brukes med inkludere eller videresende standardhandlinger. Det hjelper med å sende parameternavn og verdier til en ressurs.
46) Forklar statisk metode.
En statisk metode er av klassen og ikke objektet til en klasse. Den kan påkalles uten forekomst av en klasse. Statiske medlemmer kan også få tilgang til statiske data og endre verdien.
47) Hvordan deaktivere skripting?
Skripting kan enkelt deaktiveres ved å sette scripting-ugyldig element i distribusjonsbeskrivelsen til true. Det er et underelement av eiendomsgruppen. Den kan også være falsk.
48) Definer JSP-erklæring.
JSP-deklarasjon er tagger som brukes til å deklarere variabler. De er omsluttet av <%!%>-taggen. De brukes til å deklarere funksjoner 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-utdata forhindres fra å bli bufret?
<% response.setHeader("Cache-Control", "no=store"); response.setDateHeader("Expires", 0); %>
50) Hvordan er JSP bedre enn Servlet-teknologi?
JSP er en teknologi på serverens side for å gjøre innholdsgenerering enkel. De er dokumentsentriske, mens servlets er programmer. EN Java serverside kan inneholde fragmenter av Java program, som utfører og instansierer Java klasser. Imidlertid forekommer de i HTML-malfilen. Det gir rammeverket for utvikling av en webapplikasjon.
Disse intervjuspørsmålene vil også hjelpe i din viva(orals)