jsp interview questions
Denna handledning ger en komplett lista med JSP-intervjufrågor och svar med förklaringar som hjälper dig i din förberedelse:
I ett försök att skapa interaktiva webbsidor introducerades Common Gateway Interface (CGI), där data skickades fram och tillbaka mellan server och applikation med HyperText Transfer Protocol (HTTP), främst för att ansluta äldre informationssystem som databaser till webbservrar.
Denna process hade många brister som överhead i minnet för att ladda CGI-program under varje sidladdning, ingen mekanism för att cacha data mellan sidladdningar och ta för mycket tid mellan förfrågningarna och svaret. Denna brist födde uppfinningen av serversides tekniker som Java Server Pages (JSP).
Vad du kommer att lära dig:
Vad är JSP
JSP är en förlängning av Java Servlet som har tillgång till Java API, implicita objekt och anpassade taggar till HTML-sidor för att skapa dynamiskt webbinnehåll.
Java Server Pages (JSP) är en webbaserad teknik som skapar dynamiskt och interaktivt webbinnehåll. De skapas genom att infoga Java-kod i HTML såväl som XML-sidor. JSP kan komma åt hela Java API, som är en utökad Servlet-klass som utökar serverfunktioner och reagerar på inkommande förfrågningar.
För att göra webbsidor dynamiska användes Common Gateway Interface (CGI), JSP överpresterar CGI genom att tillåta dynamiska element i HTML-sidor istället för separata CGI-filer. JSP-kod sammanställs innan den behandlas av servern, till skillnad från CGI / Perl där servern behöver ladda tolk och målskript på varje sidförfrågan.
JSP har fördelen med Java API-åtkomst som inkluderar JDBC, EJB, JNDI, JAXP.
Föreslagen läsning = >> JDBC intervju frågor och svar
Vanliga frågor om JSP-intervju
F # 1) Vad är Java Server Pages (JSP)?
Svar: JSP är serverbaserad webbaserad teknik för dynamiskt och interaktivt webbinnehåll. Det är Java-kod inuti HTML- eller XML-sidor, ett tillägg till Servlet med åtkomst till Java API, implicita objekt och anpassade taggar.
F # 2) Kan du förklara innebörden av den dynamiska webbsidan?
Svar: En dynamisk webbsida är interaktiv eller lyhörd för besökarens ingångsvärden eller tid på dagen, tidszon, tittarens modersmål.
De är av två typer,
- Skript på klientsidan som HTML5, CSS3, JavaScript, JQuery, AJAX, Action Script, VB Script ändrar DOM-element eller data dynamiskt.
- Skripter på serversidan som ASP, JSP, PHP, ASP.NET, ColdFusion, Java, Ruby, Perl och Python som körs på webbservern och levererar dynamiskt innehåll genom att svara på klientförfrågningar via HTTP.
F # 3) Förklara tekniken på serversidan med exempel.
Svar: Serverteknologin sträcker sig från skriptspråk på serversidan, databashanteringssystem, webbserverprogramvara som Apache, IIS, node.js, tomcat. Skriptspråk på serversidan som ASP, PHP, ColdFusion, Python eller JSP används för att utveckla dynamiska webbsidor som kan nås via tillståndsfritt internetprotokoll som HTTP, FTP, SMTP eller Telnet.
Klientmaskinen skickar klientens begäran till servern, sedan verifierar och kör servern filen och dess inbäddade skript och formaterar resulterande filer och skickar den till klienten. Svaret visas på klienten via webbläsare som Chrome, Mozilla, Internet Explorer, Opera eller Safari.
F # 4) Vilka är funktionerna i JSP som gör den till en väsentlig webbaserad teknik?
Svar: Funktionerna listas nedan:
- Skapa interaktiva webbplatser.
- Gör det enkelt att läsa in användardata och visa serversvar.
- Användning av implicita objekt på webbsidan direkt.
- Användning av Java-kod till HTML-sidor via JSP.
- Gör databasanslutning enkel.
- Besökare kan spåras med Session, Application eller Cookies på JSP-sidan.
- Lätt att lära sig och koda.
F # 5) Skill mellan JSP och Servlet.
Svar: Följande tabell visar skillnaderna:
Servlet | Java Server-sida | |
---|---|---|
PageContext | PageContext | PageContext-objekt används för att hämta, ställa in eller ta bort attribut från sid-, begäran-, session- och applikationsobjekt. |
Servlet är Java-kod, är svårt att koda än JSP | Java Server Page är taggar på HTML-sidan, enkelt som det är Java på html-sidan. | |
Servlet spelar som kontrollerroll i MVC-tillvägagångssätt | JSP spelar som syn i MVC-tillvägagångssätt | |
I Servlet kan service () -metoden åsidosättas | I JSP kan service () -metoden inte åsidosättas. | |
Sessionshantering är inte aktiverat som standard | Sessionshantering aktiveras automatiskt | |
I Servlet implementeras affärslogik och presentationslogik i en enda fil. | I JSP är affärslogik skild från presentationslogik med hjälp av JavaBeans | |
Ändring av Servlet innebär att du laddar om, kompilerar och startar om servern, vilket är tidskrävande. | JSP-modifiering är snabb eftersom den bara behöver uppdatera sidan. |
F # 6) Förklara Java-serverns livscykel.
Svar: JSP Livscykel, som har jspInit () , _jspService () och jspDestroy () metoder består av följande faser:
- Översättning och sammanställning av JSP-sidan: Det första steget är konverteringen av JSP-sidan till en Java-servletfil under översättningsfasen, validerar syntax, direktiv, åtgärder och taggbibliotek som används på JSP-sidan. Servlet kompileras i en servletklassfil.
- Klass laddning och utförande fas: Den kompilerade servletklassen laddas i JSP-behållaren. Flera instanser av den här klassen hanteras av behållaren för förfrågningar och andra händelser internt jspInit () och jspDestroy () -metoder i JSP-sidgränssnittet. Ett annat gränssnitt HttpJspPage innehåller _jspService () -metoden. metoden jspInit () anropades bara en gång initialt efter att förekomsten skapades.
- Initiering: Under initiering anropas metoden jspInit () en gång initialt efter att förekomsten har skapats, initierar internt instansvariabler som java.util.Date () -objekt internt, initierar databasanslutningar, öppnar filer och skapar uppslagstabeller internt.
- Utförande av _jspService (): För varje JSP-begäran och svar kallas metoden _jspService () för körning. Denna metod kan inte åsidosättas eftersom den implementeras implicit.
- Utförande av jspDestroy (): Slutligen körs metoden jspDestroy () när JSP-sidan förstörs och skräp samlas in.
F # 7) Vilka är skillnaderna mellan ASP och JSP?
Svar: JSP och ASP används båda för att utveckla dynamiskt webbinnehåll. Den grundläggande skillnaden mellan dessa två tekniker listas nedan:
Active Server Pages (ASP) | Java Server Pages (JSP) |
---|---|
ASP är proprietär serverteknik från Microsoft som tolkas, vanligtvis implementerad på Windows-operativsystem | JSP är öppen källkodsserverteknik från Oracle som sammanställs vid körning, vanligtvis implementerad på Linux-operativsystem. |
Utvecklare med visuella grundläggande språkkunskaper kan enkelt skapa aktiva serversidor. | Utvecklare med Java-kunskap kan enkelt skapa Java-serversidor. |
ASP kan anslutas till databasen via ADO och stöder MS SQL-databas. | JSP kan anslutas till valfri databas med hjälp av respektive bibliotek. |
ASP stöder främst Microsoft IIS-server. | JSP körs vanligtvis över JBoss, IBM-app-servrar, Apache Tomcat eller andra Linux-baserade webbservrar |
F # 8) Skill mellan JSP och PHP.
Svar: JSP och PHP är båda serversidespråk med följande skillnader:
PHP | JSP |
---|---|
PHP står för Hypertext Preprocessor, är ett skriptspråk med öppen källkodsserver med stort community och bibliotek | JSP står för Java Server-sidor, ett programmeringsspråk för server med öppen källkod för att stödja webbsidor med dynamiskt innehåll. |
Den stöder för enkel plattform, kraftfull för små eller medelstora webbutveckling. | Den har tillgång till Java API, internt omvandlad till Servlet och sammanställt som java-klasser. |
PHP stöder inte anpassade taggar | JSP tillåter anpassade taggar |
Den körs på sin egen CGI-motor. | Kräv servletbehållare som Apache Tomcat |
webbhotell för webbsidor utvecklade med php är billigt | Det kan ha mycket komplex kod, vilket gör det svårt att förstå. |
F # 9) Kan du förklara MVC-modellen och användningen av JSP i den?
Svar: Model View Controller eller MVC är ett designmönster som skiljer data, affärslogik och presentationslogik. Modellen är applikationstillståndet som representerar affärslogik, Controller är en mittdel av vyn och modellen innehåller data, medan View är ett användargränssnitt eller presentationslager.
En användare skickar begäran från webbläsaren på klientmaskinen via användargränssnittet eller presentationslagret på JSP-sidan. JSP-sidan ansluter JavaBean som innehåller affärslogik och utbyter förfrågningar och svar med hjälp av HTTP-protokollet. Svaret skickas tillbaka till webbläsaren som innehåller statusinformation och svarsinnehåll.
F # 10) Vilka är de implicita objekten som används i JSP?
Svar: Följande är listan över implicita objekt tillgängliga för användning:
Objekt | Typ | Använd i JSP |
---|---|---|
Ut | JspWriter | Out används för att skriva data till bufferten, JspWriter-objekt används på JSP-sidan |
Begäran | HttpServletRequest | Förfrågan skapas av varje JSP-förfrågan via webbcontainer, begäran innehåller parametrar, rubrikinformation, servernamn, fjärradress, serverport, innehållstyp och teckenkodning |
Svar | HttpServletResponse | Svar används för att lägga till eller uppdatera svar som omdirigeringssvar till en annan resurs eller skicka ett fel om omdirigering inte fungerar. |
Konfig | ServletConfig | Config-objekt som ServletConfig används för att få initialiseringsparametrar från web.xml |
Ansökan | ServletContext | ServletContext är en applikationsinstans som fungerar som konfigurationsobjekt samt få, ställa in eller ta bort attribut från applikationsomfånget. |
Session | HttpSession | Sessionsobjekt används för att hämta, ställa in eller ta bort attribut eller få sessionsinformation. |
Sida | Objekt | Sidan tilldelas som referens för automatisk genererad servletklass. |
Undantag | Kastbar | Undantag är objekt från java.lang.Trowable-klass, används för att skriva ut undantag på felsidan. |
F # 11) Lista över skillnaderna mellan inkludera direktiv och inkludera åtgärdstagg.
Svar: Följande punkter gör inkluderar direktiv och inkluderar åtgärder som är unika från varandra:
Inkludera direktiv | Inkludera åtgärd |
---|---|
importera | På samma sätt som Java-klasser används importattribut för att lista paket eller klasser för användning på JSP-sidan. |
Inkludera direktivet (@include) bearbetas vid översättningstidpunkten, kan använda för att inkludera en fil antingen i relativ sökväg eller absolut sökväg. | Inkludera åtgärd () bearbetas vid tidpunkten förfrågan anländer för bearbetning, kan använda filen som finns på den relativa sökvägen. |
De kan innehålla resursinnehåll som HTML- eller CSS-fil men behandlar inte dynamiska resurser. | De bearbetar dynamiska resurser som lägger till resultat för att anropa JSP-sidan. |
Tillsammans med inkludera direktivet kunde parametrar som begäran, svar eller konfiguration inte skickas. | Vi kan skicka andra parametrar tillsammans med inkludera åtgärder. |
För att inkludera fil till JSP för inkludera direktiv, kan begäran eller svarobjekt inte skickas till JSP-anrop. | Begäran eller svarobjekt kan skickas i inkludera åtgärder. |
inkludera direktiv tillämpas på filattribut för att ange resurs inkluderad. | inkludera åtgärd tillämpas på sidattribut för att specificera inkluderad resurs. |
F # 12) Förklara riktlinjer som används i Java Server Pages.
Svar: JSP-direktiv fungerar som global information / instruktioner om en hel JSP-sida, ger anvisningar till behållaren för att konvertera JSP till servletkod, i översättningsfasen och vissa aspekter av JSP-bearbetning. Det kan ha kommaseparerade attribut i nyckel-värde-format. I JSP beskrivs direktivet i taggar.
Det finns tre typer av direktiv:
- Siddirektiv
- Inkludera direktiv
- Taglib-direktivet
F # 13) Förklara Scriplets som används i Java Server Pages.
Svar: Scriplets är de taggar som används för att köra Java-källkod på Java-server-sidor, vi kan bädda in Java-körbar kodbas, till exempel deklaration av en variabel, objektmanipulation, metodpåkallande, villkorliga uttalanden och undantagshantering som try-catch i JSP scriplet.
<% if (actbalance maintain your account balance minimum of 100 dollars
=100) {%> Your account is upto date
10000) {%> Please invest your amount in fixed deposits
We can provide you loan if required
}%>
F # 14) Vilka är skillnaderna mellan valideringen av klientsidan och serversidan?
Svar: Följande är skillnaden mellan validering på klientsidan och på serversidan:
Validering av klientsidan | Validering av serversidan |
---|---|
I webbformulär för användargränssnitt valideras användarinmatningsvärden på klientmaskinen, | Användarinmatningsvärden valideras på servern, dvs. valideringen sker på webbservern |
Validering av klientsidan görs med JavaScript eller VBScript | Valideringen av serversidan görs med hjälp av språk som Java, .Net, PHP etc. |
Validering på klientsidan hjälper till att förhindra tur och retur av ogiltiga data från klient till server och tillbaka | Validering på serversidan förhindrar införande av ogiltiga data i databasen eller skydd mot skadliga användare |
F # 15) Vilka litteratur används i JSP?
Svar: Litteratur som används på Java-serversidor är som följer:
- Boolean
- Heltal
- Flytpunkt
- Sträng
- Null.
F # 16) Lista skillnaden mellan ServletContext och PageContext.
Svar: Skillnader mellan ServletContext och PageContext ges nedan:
- ServletContext ger information om JSP eller servlet som kör container. Det finns en servletcontext per webbapplikation, dess parametrar kan ställas in i deskriptor för webbdistribution.
- Sidkontext ger JSP- eller servletinformation om förfrågningar som hanteras, med information om begäran och alla parametrar som session, svar, referens till utdataströmmen och webbapplikationens ServletContext.
F # 17) Lista över skillnaderna mellan JSP-anpassad och Java Bean.
Svar: Skillnaderna förklaras nedan:
JSP anpassade taggar | JavaBeans |
---|---|
Anpassade taggar är användardefinierade JSP-element kan ändra JSP-innehåll. | JavaBeans är enkel Java-klass på JSP-sidor för att skapa dynamiska webbsidor kan inte ändra JSP-innehåll. |
Det kan förenkla komplexa operationer, kräver fler konfigurationer för att ställa in. | JavaBeans är enkla att installera. |
Används på fristående sätt på både Servlet- och JSP-sidor. | JavaBeans kan definieras i Servlet och kan sedan anropas på JSP- eller Servlet-sidan. |
F # 18) Vilka är skillnaderna mellan vidarebefordran och sendRedirect?
Svar: Skillnader förklaras nedan:
Fram() | sendRedirect () |
---|---|
Omdirigering av sidor hanteras vid serverns slut och syns inte för klienten i forward () -metoden. | Omdirigering av sidor hanteras i klientänden och är synlig för klienten i metoden SendRedirect (). |
framåt () är snabbare än sendRedirect (). | sendRedirect () är något långsammare än framåt (), eftersom den behöver två webbläsarförfrågningar. |
Original URL förblir opåverkad framåt () | En webbläsare förstår att den för sendRedirect () gör en ny begäran, därav ursprungliga URL-ändringar. |
Original-URL och begäran upprepas när den resulterande sidan i webbläsaren laddas om. | Originalförfrågan eller resulterande URL upprepas inte när webbläsaren laddar om den resulterande URL: n. |
F # 19) Vilka är attributen i siddirektiven?
Svar: Följande är listan över attribut i JSP-siddirektiv:
Attributnamn | Beskrivning |
---|---|
buffert | Det indikerar buffringsmodell för utdataström |
autoFlush | Servlets utgångsbuffertbeteende styrs med detta attribut |
innehållstyp | Teckenkodningsschema relaterat attribut |
errorPage | Uniform Resource Locator för en annan JSP som rapporterar Java okontrollerade runtimeundantag. |
isErrorPage | Indikerar webbadress specificerad av JSP-sidens errorPage-attribut som definierats ovan. |
sträcker sig | Superklassgenererad Servlet måste förlängas anges med detta attribut |
info | Detta attribut definieras som en sträng som nås genom Servlets getServletInfo () -metod, |
isThreadSafe | Detta attribut definierar trådmodell för Servlet |
språk | Förklarar programmeringsspråk som används på JSP-sidor. |
session | Förklarar JSP-sida deltagande i HTTP-sessioner. |
isELIgnored | Attribut avgör om EL-uttryck inom JSP ska ignoreras eller inte. |
isScriptingEnabled | Om skriptelement är tillåtna för användning eller inte kan avgöras av detta attribut. |
F # 20) Kan vi utöka en annan Java-klass i JSP?
Svar: Ja, utvecklaren kan utöka en annan JSP med.
javax.servlet.jsp.HttpJspPage-gränssnittet implementeras när JSP-sidan konverteras till Servlet-sidan. Därför är det möjligt att utöka en annan Java-klass för JSP-sidan. Det är tillrådligt att använda uttrycksspråk eller taggbibliotek istället för javakod på JSP-sidan.
F # 21) Beskriv användningen av taggen med ett exempel.
Svar: försöker söka i ett befintligt objekt baserat på en id- och scope-variabel och om objektet inte är tillgängligt skapar det objektet. Koden för useBean är som visas nedan:
F # 22) Vilka är omfångsvärden för taggen?
Svar: I avsaknad av attributvärde för scope i jsp: useBean är standardomfattningsvärdet sidan. Andra värden är begäran, session och applikation.
F # 23) Kan vi hantera ett runtime-undantag på JSP-sidan?
Svar: Ja, undantag för runtime inträffar på grund av ett fel under JSP-sidkörning, kan hanteras med undantag för fångst och hantering i Java-scriplet, med Java-standardkod för undantagshantering.
grep-kommando i unix shell-skript
F # 24) Vad är användningen av taggbiblioteket i JSP?
Svar: Standard taggbibliotek i JSP är användbara för att komma till rätta med brister i anpassade taggar, det finns tre huvudsakliga taggbibliotek som ofta används i JSP nämligen. core, SQL och XML. De används huvudsakligen för att utforma iteration och villkorliga uppgifter, manipulera XML-dokument, utföra SQL-operationer på databaser och internationalisering.
F # 25) Vad är användningen av JSP-deklarationen?
Svar: Variabler, metoder och fält deklareras på JSP-sidan med deklarationstaggar. I JSP-deklarationen är instansvariabler och metoder sammansatta utanför _jspService () -metoden.
Syntaxen för JSP-deklarationstaggar är enligt nedan:
medan Skriplettaggar har syntax enligt nedan:
F # 26) Vilka steg är involverade i att läsa data från ett formulär med JSP?
Svar: Stegen är som följer:
- Webbsidor skickar inmatningsdata med hjälp av formulärtaggar med webbelement som textfält, kryssruta för val av flera värden, alternativknappar för att välja ett av alternativen och skicka-knapp i Java Server Pages (JSP).
- Validering av klientsidan med JavaScript säkerställer att användaren varnas med meddelanden om ogiltiga värden anges i inmatningsfält och förhindras när du klickar på knappen Skicka.
- Skicka-knappen i formuläret har attributet POST eller GET-metoder för att skicka användarinmatning som en begäran med hjälp av Hypertext Transfer Protocol (HTTP), med hjälp av webbläsaren.
- POST-metoden används när känslig information som kreditkortsnummer, inloggningsuppgifter anges i inmatningsfält. Värdena med POST-metoden visas inte i webbläsarens URL-adressfält.
- GET-metoden kan användas för information som inte är känslig och värdena med GET-metoden visas i webbläsarens URL-adressfält.
- JSP-sidan använder följande metoder för att hantera indata:
- getParameter () : metoden används för att få inmatningsvärde från formulärelement som textfält
- getParameterValues () metoden används när flera värden (array) från formulärelementet, till exempel kryssrutan
Banana
Egg
Bread
Milk
<% String shoppingcart[] = request.getParameterValues('basket'); For (int i = 0; i
- getParameterNames () returnerar en uppräkning av alla parameternamn som är associerade med begäran.
Enumeration enum = request.getParameterNames();
F # 27) Förklara vikten av sessionsdata i JSP?
Svar: Java Server Pages, som är en servlet som upprätthåller statusinformation om webbbesökare som begär webbadressen till webbadressen under ett visst tidsintervall, kallas session tracking. Information om besökare som besöker en webbplats sparas med
setAttribute (strängnamn, objektvärde) metod enligt nedan:
session.setAttribute('user', name);
Denna sessionsdata kan hämtas med metoden getAttribute (Strängnamn) enligt nedan:
String name= (String)session.getAttribute('user');
F # 28) Vad är kakor, deras typer och hur olika typer skiljer sig från varandra?
Svar: Cookies är textfiler som skapas på klientmaskinen och lagrar information om webbsökningar eller webbplatser som utforskas med hjälp av webbläsaren, datum och tid för besöket, tillsammans med IP-adress. Närvaron av cookies hjälper webbplatser att identifiera kunder som återvänder till sina webbplatser.
Kakor är av olika slag, såsom autentisering, spårning och sessionscookies.
- Sessionscookies är kortlivade tills användaren utforskar en viss webbplats, när han lämnar webbplatsen raderas sessionscookies av webbläsare.
- Att spåra kakor som namnet antyder registrerar hur ofta en viss webbplats har besökts.
- Autentiseringscookies bekräftar äktheten hos en giltig användare som besöker webbplatsen igen.
F # 29) Lista upp och beskriv åtgärdstaggar som används i JSP.
Svar: JSP-åtgärdstaggar används för att utföra uppgifter som användning av JavaBean och kontroll av flöde mellan webbsidor. Det följande är några av åtgärdstaggarna listade med detaljer.
Action Tag | Användning av åtgärdstaggar på JSP-sidan |
---|---|
jsp: setProperty | Hjälper till att ställa in värdet på en böns egendom, dess syntax ser ut |
jsp: framåt | begäran och svar vidarebefordras till en annan resurs med vidarebefordran, dess syntax är som, där relativ webbadress antingen är en sida på servern som /examples/index.html |
jsp: inkludera | Med denna åtgärdstagg ingår en annan resurs, syntaxen är |
jsp: useBean | Denna åtgärdstagg skapar och lokaliserar bönobjekt, dess syntax är som |
jsp: getProperty | Den här åtgärdstaggen skriver ut värdet på bönegenskapen med syntax som |
jsp: plugin | Med plugin-åtgärdstagg kan en annan komponent som applet bäddas in i JSP-sidan, med syntax som |
jsp: param | Action tag param anger värdet på parametern framåt och inkluderar action taggar med syntax som |
jsp: reserv | reservåtgärdsmärke används tillsammans med jsp: plugin-tagg för att skriva ut ett meddelande för att verifiera om plugin-taggen fungerar, dess syntax ser ut som Klass hittades inte! |
F # 30) Varför använder du JSP?
Svar: JSP används för att utveckla dynamiskt webbinnehåll, där input från besökare kommer att betraktas som en förfrågan, och modellvy controller som ett webbram där presentationslagret är Java Server Pages (JSP) - Java-kod inuti HTML / CSS / JavaScript kod, affärslogik skriven i mellanskiktet, Controller kommer att ha Java-klasser och Model har backend DAO (dvs. Hibernate) för att komma åt databasen.
Slutsats
Java-server-sidor används för klient-server-ramverket och hjälper till att skapa dynamiskt webbinnehåll genom att hantera användarnas inmatningsdataförfrågningar och returnera svar med HTTP. JSP-sidan använder implicita objekt, direktiv, anpassade taggar och scriplets för hantering av användardata med olika metoder som getParameter (Strängnamn), getParameterValues () för att hämta flera värden från formuläret .
Det finns åtgärdstaggar som används på JSP-sidan för att utföra olika uppgifter.
Allt det bästa för intervjun !!
Rekommenderad läsning
- 25+ mest populära ADO.NET intervjufrågor och svar
- 25+ Top Spring MVC intervjufrågor och svar
- 30+ TOPP Servlet-intervjufrågor och svar [2021 LIST]
- Topp 35 intervjufrågor med ASP.Net och webb-API med svar
- 50 bästa PHP-intervjufrågor och svar (för ALLA)
- 30+ populära Java-samlingsintervjuer med svar [2021 LIST]
- TOPP 45 Intervjufrågor från JavaScript med detaljerade svar