Domande per il colloquio JSP (2024)
Domande per i colloqui JSP per i principianti
1) Spiegare JSP e spiegarne gli usi.
JSP sta per Java Pagine del server. È una tecnologia del livello di presentazione indipendente dalla piattaforma. Viene fornito con le piattaforme J2EE di SUN. Sono come le pagine HTML ma con Java pezzi di codice incorporati in essi. Vengono salvati con estensione .jsp. Vengono compilati utilizzando il compilatore JSP in background e generano un servlet dalla pagina.
👉 Download gratuito del PDF: domande e risposte all'intervista JSP
2) Qual è il requisito di una libreria di tag?
Una raccolta di tag personalizzati è denominata libreria di tag. Le attività ricorrenti vengono gestite più facilmente e riutilizzate in più applicazioni per aumentare la produttività. Vengono utilizzati dai progettisti di applicazioni Web che si concentrano sulla presentazione piuttosto che sull'accesso al database o ad altri servizi. Alcune librerie popolari sono la libreria di tag String e la libreria di tag di visualizzazione Apache.
3) Spiegare la tecnologia JSP.
JSP è un'estensione standard di Java ed è definito sopra le estensioni servlet. Il suo obiettivo è semplificare la gestione e la creazione di pagine web dinamiche. È indipendente dalla piattaforma, sicuro e utilizza Java come linguaggio di scripting lato server.
4) Spiegare gli oggetti impliciti in JSP.
Vengono chiamati oggetti creati dal contenitore web e contenenti informazioni riguardanti una particolare richiesta, applicazione o pagina Oggetti impliciti. Sono :
- risposta
- eccezione
- applicazione
- richiesta
- Sessione
- pagina
- su
- config
- pageContext
5) Come è possibile impedire invii multipli dovuti a clic sul pulsante Aggiorna?
Utilizzando un pattern Post/Redirect/Get o PRG, questo problema può essere risolto.
1) Un modulo compilato dall'utente viene inviato al server utilizzando il metodo POST o GET. Lo stato nel database e il modello di business vengono aggiornati.
2) Una risposta di reindirizzamento viene utilizzata per rispondere dal servlet per una pagina di visualizzazione.
3) Una vista viene caricata dal browser utilizzando il comando GET e non vengono inviati dati utente. Questo è sicuro da invii multipli poiché è una pagina JSP separata.
6) La tecnologia JSP è estensibile?
Sì, JSP è facilmente estensibile mediante l'uso e la modifica di tag o azioni personalizzate, incapsulate in librerie di tag.
7) Distinguere tra risposta.sendRedirect(url) e .
<jsp.forward>
L'elemento inoltra l'oggetto della richiesta da 1 file JSP a un altro. Target il file può essere HTML, servlet o un altro file JSP, ma deve trovarsi nello stesso contesto applicativo del file JSP di inoltro.
sendRedirect invia una risposta di reindirizzamento temporaneo HTTP al browser. Il browser crea quindi una nuova richiesta per la pagina reindirizzata. Uccide le variabili di sessione.
8) È possibile accedere ad una richiesta successiva con il proprio codice servlet, se un attributo di richiesta è già inviato nel proprio JSP?
La richiesta esce dall'ambito, pertanto non è possibile accedervi. Tuttavia, se un attributo di richiesta è impostato nel proprio servlet, è possibile accedervi nel proprio JSP.
Un JSP è un componente lato server e la pagina viene tradotta in un file Java servlet e quindi eseguito. Come output viene fornito solo il codice HTML.
9) Come includere file statici in una pagina JSP?
Le pagine statiche vengono sempre incluse utilizzando la direttiva include JSP. In questo modo l'inclusione viene eseguita una sola volta nella fase di traduzione. Tieni presente che è necessario fornire un URL relativo per l'attributo file. Sebbene sia possibile includere risorse statiche, non è preferibile poiché ogni richiesta richiede l'inclusione.
10) Perché JComponent ha i metodi add() eremove() ma Component no?
JComponent è una sottoclasse di Container. Contiene altri componenti e JComponents.
Domande di intervista JSP per professionisti esperti
Di seguito sono riportate le domande e le risposte dell'intervista JSP per i candidati esperti:
11) Come è possibile implementare una pagina JSP thread-safe?
Può essere fatto implementandoli tramite l'interfaccia SingleThreadModel. Aggiungere la direttiva <%@page isThreadSafe=”false” %> nella pagina JSP.
12) Come è possibile impedire che l'output della pagina JSP o della servlet venga memorizzato nella cache dal browser?
Utilizzo degli attributi di intestazione HTTP appropriati per impedire che l'output del contenuto dinamico di una pagina JSP venga memorizzato nella cache dal browser.
13) Come limitare la visualizzazione degli errori di pagina in una pagina JSP?
Impostando un attributo “ErrorPage” della directory PAGE sul nome della pagina di errore nella pagina JSP, e quindi nella pagina di errore jsp impostata “isErrorpage=”TRUE”, è possibile impedire la visualizzazione degli errori.
14) Cosa sono le azioni JSP?
Si tratta di tag XML che indirizzano il server all'utilizzo dei componenti esistenti o al controllo del comportamento del motore JSP. Sono costituiti dal tipico prefisso “jsp:” e dal nome dell'azione.
<jsp:include/> <jsp:getProperty/> <jsp:forward/> <jsp:setProperty/> <jsp:usebean/> <jsp:plugin/>
15) Distinguere tra e <%@include file=…>.
Entrambi questi tag includono informazioni da una pagina all'altra.
Il primo tag funge da chiamata di funzione tra due Jsp. Viene eseguito ogni volta che il client accede alla pagina client. È utile modularizzare l'applicazione web. Il nuovo contenuto è incluso nell'output.
Il contenuto del secondo tag del file è testualmente incorporato con una direttiva simile. Il contenuto modificato non è incluso nell'output. È utile quando il codice di una jsp è richiesto da più jsp.
16) È possibile utilizzare il costruttore al posto di init() per inizializzare il servlet?
Sì, è possibile. Ma non è preferibile perché init() è stato sviluppato prima Java le versioni non potevano invocare i costruttori con argomenti in modo dinamico. Quindi non potevano assegnare un servletConfig. Oggi, tuttavia, i contenitori servlet chiamano ancora solo il costruttore no-arg. Quindi non è possibile accedere a servletContext o servletConfig.
17) Spiegare i metodi del ciclo di vita.
1) jsplnit(): Il contenitore lo chiama per inizializzare l'istanza del servlet. Viene chiamato solo una volta per l'istanza della servlet e precede ogni altro metodo.
2) _jspService(): Il contenitore lo chiama per ogni richiesta e lo trasmette agli oggetti.
3) jspDistruggi(): Viene chiamato dal contenitore subito prima della distruzione dell'istanza.
18) Spiegare i commenti sull'output JSP?
Sono commenti che possono essere visualizzati nel file sorgente HTML.
19) Definire l'espressione
Il tag di espressione viene utilizzato per inserire Java valori direttamente nell'output. La sua sintassi è
<%=expression%>
Contiene un'espressione del linguaggio di scripting che viene valutata, quindi convertita in una stringa e quindi inserita nel punto in cui si trova l'espressione nel file JSP.
20) Definire la composizione.
La composizione ha una relazione più forte con l'oggetto rispetto all'aggregazione.
21) Definire lo scriptlet JSP.
È un tag JSP che racchiude Java codice nelle pagine JSP. La loro sintassi è <% %>. Il codice scritto nello scriptlet viene eseguito ogni volta che viene eseguito il programma.
22) Come possono le informazioni da un JSP essere passate a un altro JSP?
L'etichetta ci consente di passare informazioni tra più Jsp.
23) Spiegare gli usi di etichetta.
<jsp:useBean> id="beanInstName" scope= "page | application" class="ABC.class" type="ABC.class" </jsp:useBean>
Questo tag crea un'istanza di java bean. Innanzitutto cerca di scoprire se l'istanza di bean esiste già e assegna un riferimento nella variabile. Viene anche specificato il tipo; in caso contrario, crea un'istanza dalla classe specificata, memorizzando un riferimento nella nuova variabile.
24) Spiegare la gestione delle eccezioni di runtime.
L'attributo Errorpage viene utilizzato per individuare le eccezioni di runtime inoltrate automaticamente a una pagina di elaborazione degli errori.
Reindirizza il browser alla pagina JSP error.jsp se si verificano eccezioni non rilevate durante la gestione della richiesta. È una pagina di elaborazione degli errori.
25) Perché _jspService() inizia con un '_' ma altri metodi del ciclo di vita no?
Qualunque contenuto creato in una pagina jsp entra nel metodo _jspService() dal contenitore. Se viene sovrascritto, il compilatore restituisce un errore, ma gli altri 2 cicli di vita possono essere facilmente sovrascritti. Quindi '_' mostra che non possiamo sovrascrivere questo metodo.
26) Spiegare i vari valori di ambito per etichetta.
il tag viene utilizzato per utilizzare qualsiasi oggetto Java nella pagina jsp. Alcuni valori di ambito sono:
1)applicazione
2)richiesta
3)pagina
4)sessione
27) Mostra i 2 tipi di commenti in JSP.
I 2 tipi sono:
<%–JSP Comment–%> <!–HTML comment–>
28) Il metodo statico può essere sovrascritto?
Possiamo dichiarare metodi statici con la stessa firma nella sottoclasse, ma non è considerato sovrascritto poiché non ci sarà alcun polimorfismo in fase di esecuzione. Quindi la risposta è 'No'.
29) Spiegare le direttive JSP.
Direttive JSP sono messaggi al motore JSP. Fungono da messaggio dalla pagina al contenitore e controllano l'elaborazione dell'intera pagina. Possono impostare valori globali come la dichiarazione di classe. Non producono output e sono racchiusi tra <%@….%>
30) Spiegare le Direttive a pag.
Le direttive della pagina informano il motore JSP sulle intestazioni e sulle funzionalità che la pagina riceve dall'ambiente. Si trova nella parte superiore di tutte le pagine JSP. La sua sintassi è <%@ page attribute=”value”>
31) Mostra gli attributi delle direttive di pagina.
- Sessione: Mostra se i dati di una sessione sono disponibili per la pagina.
- Importare: mostra i pacchetti importati.
- isELIgnored: Mostra se le espressioni EL vengono ignorate quando JSP si traduce in a servlet.
- tipo di contenuto: consente all'utente di specificare il tipo di contenuto della pagina.
32) Cos'è la direttiva Include?
La direttiva include inserisce staticamente il contenuto di una risorsa nel JSP corrente. Aiuta nel riutilizzo del codice senza duplicazioni. e include il contenuto del file al momento della traduzione. La sua sintassi è la seguente <%@ include file=”Filename”%>
.
33) Cosa sono le azioni standard in JSP?
Influiscono sul comportamento generale di runtime di una pagina e sulla risposta inviata al client. Sono utilizzati per includere un file al momento della richiesta, per istanziare un file JavaBean o trovane uno. Vengono anche utilizzati per generare un codice specifico del browser o inoltrare una richiesta a una nuova pagina.
34) Spiegare l'azione jsp:setProperty.
Viene utilizzato per assegnare valori alle proprietà dei bean a cui si è fatto riferimento in precedenza.
…
<jsp:setProperty name=”ABC” property=”myProperty”…
jsp:setproperty viene eseguito anche se viene istanziato un nuovo bean o viene trovato un bean esistente.
Aggiungendo alla fine del codice la condizione per l'esecuzione è invertita cioè non viene eseguita se è stato trovato un oggetto esistente e solo se è stato istanziato un nuovo oggetto.
35) Definire il blocco statico.
Viene utilizzato per avviare il membro dati statico. Viene eseguito prima del caricamento della classe.
36) Spiegare l'azione jsp:plugin.
Questa azione aiuta nell'inserimento di un oggetto specifico nel browser o incorpora l'elemento necessario per specificare l'esecuzione dell'applet utilizzando Java .
37) Spiegare la convalida lato client e server.
Javascript viene utilizzato per la convalida lato client. Si svolge all'interno del browser. Javascript viene utilizzato per inviare i dati del modulo se la convalida ha esito positivo. Gli errori di convalida non richiedono alcun viaggio di rete aggiuntivo perché il modulo non può essere inviato.
La validazione viene effettuata anche nel server dopo l'invio. Se la convalida fallisce, è necessario un ulteriore viaggio di rete per inviare nuovamente il modulo al cliente.
38) Cos'è la fase di traduzione?
Il motore JSP traduce e compila un file JSP in un servlet. Questo servlet passa alla fase di esecuzione in cui vengono gestite le richieste e le risposte. Vengono compilati per la prima volta in cui si accede, a meno che non vengano compilati manualmente in anticipo. La compilazione manuale o esplicita è utile per programmi lunghi e contorti.
39) Eseguire un reindirizzamento del browser da una pagina JSP.
<% response.sendRedirect(URL); %>
oppure possiamo modificare la posizione dell'attributo dell'intestazione HTTP come segue:
<% response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); response.setHeader(URL); %>
40) Fornire usi della clonazione di oggetti.
La clonazione dell'oggetto viene utilizzata per creare una copia esatta di un oggetto digitando lo stesso codice o utilizzando varie altre tecniche.
41) Come inoltrare una richiesta ad un'altra fonte.
<jsp:forward page="/Page2.jsp" />
42) Come si può impedire la creazione automatica della sessione in una pagina JSP?
La pagina JSP crea automaticamente sessioni per le richieste. Digitando quanto segue, è possibile evitarlo.
<%@ page session=”false” %>
43) Come si può evitare il codice scriptlet in JSP?
JavaÈ possibile utilizzare bean o tag personalizzati al posto del codice scriptlet.
44) Spiegare il metodo jspDestroy().
Ogni volta che una pagina JSP sta per essere distrutta, il contenitore richiama il metodo jspDestroy() dall'interfaccia javax.servlet.jsp.JspPage. I metodi di distruzione delle servlet sono simili ad esso. Può essere facilmente sovrascritto per eseguire la pulizia, come quando si chiude una connessione al database.
45) Spiegare il azione.
È un'azione utilizzata con le azioni standard di inclusione o inoltro. Aiuta a passare i nomi e i valori dei parametri a una risorsa.
46) Spiegare il metodo statico.
Un metodo statico appartiene alla classe e non è l'oggetto di una classe. Può essere invocato senza istanza di una classe. I membri statici possono anche accedere ai dati statici e modificarne il valore.
47) Come disabilitare lo scripting?
Lo scripting può essere facilmente disabilitato impostando l'elemento scripting-invalid del descrittore di distribuzione su true. È un sottoelemento del gruppo di proprietà. Può anche essere falso.
48) Definire la dichiarazione JSP.
La dichiarazione JSP sono tag utilizzati nella dichiarazione delle variabili. Sono racchiusi nel tag <%!%>. Sono usati per dichiarare funzioni e variabili.
<%@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) Come è possibile impedire che l'output HTML venga memorizzato nella cache?
<% response.setHeader("Cache-Control", "no=store"); response.setDateHeader("Expires", 0); %>
50) In che modo JSP è migliore della tecnologia Servlet?
JSP è una tecnologia lato server che semplifica la generazione di contenuti. Sono incentrati sui documenti, mentre i servlet sono programmi. UN Java la pagina del server può contenere frammenti di Java Programma, che eseguono e istanziano Java classi. Tuttavia, si verificano all'interno del file modello HTML. Fornisce il framework per lo sviluppo di un'applicazione Web.
Queste domande del colloquio ti aiuteranno anche nel tuo viva(orale)