top 30 jsf interview questions
Questo tutorial fornisce domande e risposte di interviste a Java Server Faces o JSF con spiegazioni per aiutarti a prepararti per l'intervista:
È essenziale per Java Developer avere una conoscenza di lavoro in uno o più framework Java utilizzati comunemente come Spring, Hibernate, Struts e Java Server Faces (JSF).
JSF è uno dei framework Java che aiuta rapidamente a progettare i componenti dell'interfaccia utente web.
JSP era una tecnologia Java che utilizzava API Java, oggetti impliciti e tag personalizzati per sviluppare contenuti web dinamici, mentre utilizzava Java Server Faces (JSF), un framework di applicazioni web basato su Java per sviluppare componenti dell'interfaccia utente basati sul web.
JSF ha gestito bean, face let, annotazioni e librerie di utilità come facce prime e facce Omni o facce di ghiaccio per sviluppare componenti basati su modelli lato server.
Cosa imparerai:
Facce di Java Server
La tecnologia Java Server Faces offre API per creare componenti dell'interfaccia utente riutilizzabili nelle pagine web. Collega i componenti con l'origine dati dell'applicazione e gli eventi generati dal client ai gestori di eventi lato server, mantiene lo stato dell'interfaccia utente su più richieste del server e implementa componenti personalizzati.
JSF fornisce una libreria di base, elementi di input HTML standard come componenti dell'interfaccia utente di base, basati su vari dispositivi e tipi di client, ad esempio browser HTML, WAP o dispositivi wireless, fornisce funzionalità di rendering ai componenti dell'interfaccia utente.
Domande frequenti sul colloquio JSF
D # 1) Cos'è JSF (Java Server Faces)?
Risposta: È un framework Java basato sul design MVC che dispone di ricche librerie di API e tag che offrono la creazione di componenti dell'interfaccia utente lato server per lo sviluppo web.
cos'è il sistema operativo Linux e Unix
JSF dispone di una libreria di tag, API, facelets e componenti UI e bean gestiti per creare applicazioni web.
D # 2) Quali caratteristiche offrono Java Server Faces nello sviluppo web?
Risposta: Le caratteristiche sono elencate di seguito:
- Framework Java costruito su API Servlet
- I componenti dell'interfaccia utente sono archiviati sul server
- Modello di programmazione basato su eventi gestito sul server
- Supporta più dispositivi client
- Facilità di implementazione di componenti di terze parti
- Architettura estensibile
- Ampio supporto di strumenti da Borland, Exadel, Sun, Oracle, IBM, BEA, ecc.
- Approccio allo sviluppo rapido di applicazioni (RAD)
- Supporta l'internazionalizzazione delle etichette e del testo dell'interfaccia utente
Caratteristiche di Java Server Faces:
D # 3) Spiega il ciclo di vita di JSF.
Risposta: Il ciclo di vita contiene 6 fasi, come spiegato di seguito:
# 1) Ripristina visualizzazione: Il ciclo di vita inizia con la fase di visualizzazione del ripristino. Quando si fa clic su un collegamento o un pulsante nella pagina Web, viene inviata una richiesta a JSF con le operazioni elencate di seguito:
- View è costruito da JSF
- Collega gestori di eventi e validatori ai componenti dell'interfaccia utente
- Salva questa vista nell'istanza FacesContext
- Fornisce tutte le informazioni a FacesContext per elaborare la richiesta
# 2) Applica richiesta: Qui viene creato ogni componente dall'albero dei componenti. Utilizza il metodo di decodifica che acquisisce e salva i nuovi valori dai parametri della richiesta. In caso di errore durante la conversione, genera un messaggio di errore e lo elenca su FacesContext. Visualizzerà messaggi di convalida o errori durante la fase di risposta del rendering. JSF passa alla fase di risposta del rendering quando i listener di eventi del metodo di decodifica chiamano il metodo renderResponse.
# 3) convalida del processo: Durante questa fase, JSF elabora i validatori dell'albero dei componenti, esamina le regole degli attributi per la convalida e le confronta con il valore locale memorizzato del componente. In caso di valore locale non valido, JSF aggiunge un messaggio di errore all'istanza FacesContext, visualizzando la stessa pagina con un messaggio di errore e con il ciclo di vita JSF che si sposta ulteriormente verso la fase di risposta del rendering.
# 4) Aggiornamento del valore del modello: Dopo che JSF ha verificato i dati validi, imposta le proprietà dell'oggetto lato server corrispondente sui valori locali del componente e aggiorna le proprietà del bean, corrispondenti all'attributo del valore del componente di input. Quando renderResponse dall'istanza corrente di FacesContext viene chiamato dai metodi updateModels, JSF passa alla fase di risposta del rendering.
# 5) Richiama l'applicazione: Gli eventi a livello di applicazione come l'invio del modulo o l'inoltro a un'altra pagina vengono gestiti da Java Server Faces durante questa fase.
# 6) Risposta di rendering: Nel caso in cui l'applicazione abbia pagine JSP, JSF richiede al server delle applicazioni di eseguire il rendering della pagina, quindi aggiunge i componenti sulla pagina all'albero dei componenti. Altrimenti, un albero dei componenti già costruito non necessita di aggiungere alcun componente; Il contenitore JSP sposta i tag e visualizza i componenti. Lo stato della risposta viene salvato dopo il rendering del contenuto della visualizzazione, le richieste successive possono accedere allo stato e alla sua disponibilità per ripristinare la fase di visualizzazione.
D # 4) Qual è il significato dei bean gestiti in Java Server Faces?
Risposta: I Managed Beans sono Java bean che comprendono metodi getter e setter e hanno una logica di business progettata al loro interno. Può opzionalmente avere un backing bean. Fungono da modello per i componenti dell'interfaccia utente nel framework MVC.
Per JSF 1.2, è necessario registrarli nel file di configurazione JSF, faces-config.xml, mentre, da JSF 2.0 in poi, le annotazioni vengono utilizzate per registrare i bean gestiti.
D # 5) Quali sono gli ambiti dei bean gestiti?
Risposta: I Managed Beans sono una classe Java costituita da un insieme di proprietà e metodi getter / setter. Funge da modello per il framework JSF e offre funzionalità come,
- Convalida dei dati dei componenti
- Gestisci l'esecuzione di un evento componente
- Elaborazione per decidere quale pagina verrà eseguita dall'applicazione
- JSF utilizza i bean gestiti configurandoli in un file XML o tramite annotazioni.
I seguenti ambiti vengono utilizzati per la classe bean gestita:
- Applicazione
- Sessione
- Visualizza
- Richiesta
- Nessuna
- Personalizzato
Q # 6) Che cos'è un facelet?
Risposta: I facelets sono un linguaggio di dichiarazione di pagina leggero che utilizza modelli di stile HTML per costruire l'albero dei componenti per costruire le viste dei volti del server Java.
Alcune delle funzionalità di Facelets sono elencate di seguito:
- Utilizza XHTML per creare pagine web.
- Oltre alle librerie di tag JSF e JSTL, offre librerie di tag Facelets.
- Supporto del linguaggio di espressione, componenti e modelli di pagine.
Q # 7) Spiega i vantaggi dell'utilizzo di Facelet.
Risposta: I vantaggi sono i seguenti:
- Tempo di compilazione veloce
- Rendering ad alte prestazioni
- Estende le sue funzionalità a componenti e altri oggetti lato server tramite la personalizzazione
- Supporto per il riutilizzo del codice tramite componenti compositi e modelli
- Convalida EL in fase di compilazione
D # 8) Elenca i tag Facelet utilizzati in Java Server Face.
Risposta: Alcuni dei tag Facelet utilizzati in JSF sono elencati di seguito:
- ui: component definisce il componente creato e lo aggiunge all'albero dei componenti.
- ui: composizione definisce la composizione della pagina, utilizza facoltativamente i modelli e ignora il contenuto esterno.
- ui: debug definisce il componente di debug creato e aggiunge all'albero dei componenti.
- ui: decorare è simile al tag component, considera il contenuto al di fuori di questo tag.
- ui: definire viene utilizzato per definire il contenuto inserito nella pagina da un modello.
- ui: frammento è simile al componente e decora il tag. Considera il contenuto al di fuori di questo tag.
- ui: include riutilizza e incapsula il contenuto di più pagine.
- ui: inserire come nome inserisce i contenuti in un modello.
- ui: stop passare i parametri al file incluso.
- ui: ripeti un'alternativa per i tag loop, come c: forEach o c: dataTable.
- ui: rimuovere viene utilizzato per rimuovere il contenuto da una pagina.
D # 9) Elenca i tipi di navigazione tra le pagine supportati da JSF.
Risposta: JSF supporta i seguenti tipi di navigazione della pagina:
- Navigazione condizionale
- Navigazione in avanti e reindirizzamento
- Navigazione implicita
- Navigazione tramite bean gestito
- Navigazione tramite navigazione di reindirizzamento
D # 10) Descrivi i vari tag dei campi di testo offerti da JSF.
Risposta: I vari tag dei campi di testo sono descritti di seguito:
- inserisce una casella di testo adiacente al campo dell'etichetta.
- viene utilizzato come contenitore per l'immissione di numerosi caratteri.
- è un tipo di campo di testo utilizzato per il campo della password in modo che i dati inseriti non vengano rivelati.
D # 11) Descrivi l'espressione di valore e l'espressione di metodo.
Risposta: L'espressione valore recupera un valore e imposta un valore. Sono ulteriormente suddivisi in espressione rvalue ed espressione lvalue. rvalue può solo leggere dati, mentre lvalue può anche leggere i dati.
Il metodo pubblico del bean viene richiamato dall'espressione del metodo che restituisce il risultato richiesto per la convalida del componente dati e la gestione degli eventi.
D # 12) Quali tipi di convalida sono disponibili in JSF?
come avviare un file .jar
Risposta: Esistono due tipi di convalida in JSF, ovvero dichiarativa e imperativa.
- Dichiarativo le convalide vengono invocate utilizzando validatori standard JSF o validatori Bean.
- Imperativo le convalide sono validatori complessi dichiarati dall'utente che sovrascrivono la convalida standard poiché i messaggi di convalida standard non sono adeguati in tutti i casi.
D # 13) Elenca le espressioni supportate da JSF Expression Language.
Risposta: Le espressioni supportate sono elencate di seguito:
- Espressione di valore immediato
- Espressione di valore differito
- Espressione di valore
- Espressione del metodo
D # 14) Descrivi vari tipi di eventi JSF.
Risposta: Esistono principalmente tre tipi di eventi JSF, ovvero eventi di azione, eventi di modifica del valore e eventi di fase.
- Eventi d'azione vengono generati per i componenti dell'interfaccia utente come il pulsante di comando o il collegamento ipertestuale del comando.
- Eventi di modifica del valore campo di testo di riferimento, casella di riepilogo del pulsante di opzione. Qualsiasi modifica del valore in questi componenti dell'interfaccia utente richiamerà un evento di modifica del valore.
- Eventi di fase vengono sparati durante l'inizio o verso la fine di una qualsiasi delle sei fasi del ciclo di vita di JSF.
D # 15) Spiegare in dettaglio i componenti della tabella con associazione a dati.
Risposta: I componenti responsabili della visualizzazione dei dati relazionali in formato tabulare sono noti come componenti della tabella con associazione a dati. etichetta itera su ciascuno dei record visualizzati in righe, mentre etichetta visualizzare i componenti dei dati.
Alcuni degli attributi di h: dataTable sono cellpadding, cellspacing, bgcolor e border.
D # 16) Elenca i tag validator disponibili in JSF.
Risposta: I tag del validatore sono elencati di seguito:
- f: validateLength viene utilizzato per convalidare la lunghezza della stringa.
- f: validateLongRange viene utilizzato durante la convalida dell'intervallo di valori numerici.
- f: validateDoubleRange viene utilizzato durante la convalida dell'intervallo di valori float.
- f: validateRegex: la convalida confronta l'espressione regolare data con i componenti JSF.
Q # 17) Cosa sono le annotazioni JSF?
Risposta: L'annotazione in JSF aiuta nello sviluppo di codice chiaro e pulito. Può essere utilizzato in pacchetti, classi, costruttori, interfacce, campi, metodi, parametri, variabili o annotazioni stesse.
Esistono principalmente tre categorie di annotazioni - vale a dire. Marcatori, Annotazione valore singolo, Annotazioni complete.
D # 18) Descrivi il raggruppamento di risorse.
Risposta: È sempre conveniente memorizzare le etichette dell'interfaccia utente, il formato della data, i messaggi di stato e gli elementi testuali dell'interfaccia utente come la memorizzazione dei parametri per le impostazioni internazionali per l'internazionalizzazione ecc. Nel file delle proprietà invece di codificarli in modo rigido in ciascuna pagina XHTML. La memorizzazione di questi valori costanti in un file e la visualizzazione di questi valori su varie pagine è nota come raggruppamento di risorse.
Il descrittore di distribuzione faces-config.xml contiene le impostazioni di configurazione per l'applicazione JSF, dove possiamo configurare il bundle di risorse e salvare questi valori al suo interno.
D # 19) Elenca i vantaggi dell'utilizzo del framework JSF.
Risposta: Di seguito sono riportati alcuni importanti vantaggi:
- Il framework JSF crea rapidamente interfacce utente con la sua libreria di componenti UI incorporata con una separazione tra presentazione e comportamento.
- Ha una ricca architettura per la gestione, l'elaborazione e la convalida degli input degli utenti.
- I suoi eventi sono integrati con il codice lato server.
- Offre un controllo a livello di componente collegabile.
- Supporta le funzionalità di accessibilità e internazionalizzazione.
D # 20) Elenca i vantaggi del linguaggio delle espressioni.
Risposta: Il linguaggio Expression offre i seguenti vantaggi:
- Gli autori delle pagine possono ridurre al minimo l'uso di script nella pagina web
- Offri una maggiore produttività
- Facile da mantenere
- Curva di apprendimento piatta
- Incluso in JSP 2.0, JSF
- Uso dell'espressione nelle diverse fasi del ciclo di vita della pagina
- Imposta i dati degli oggetti esterni e ottieni quei dati usando le espressioni
- Le espressioni del metodo offrono la gestione degli eventi, la convalida e altre funzionalità per i componenti dell'interfaccia utente JSF
D # 21) Spiegare cosa può contenere la directory dei file war dell'applicazione Java Server Faces?
Risposta: Il file di archivio (war) dell'applicazione Web dell'applicazione JSF contiene quanto segue:
- web.xml - una risorsa di configurazione del descrittore di applicazioni web per applicazioni web.
- Classi essenziali in una serie di file JAR (Java Archive).
- Classi di applicazioni, pagine Java Server Faces, altre risorse richieste come file di immagine.
- File di risorse per la configurazione dell'applicazione.
D # 22) Quali tipi di tag Facelet vengono utilizzati in JSF 2.0?
Risposta: Vari tipi di tag Facelet in JSF 2.0 sono:
- Modelli offrono uno stile e un layout comuni dell'interfaccia nelle applicazioni web, ui: insert, ui: define, ui: include e ui: composizione.
- Tag param servono per passare i parametri al file modello.
- Tag personalizzati per rendere i contenuti personalizzati.
- Rimuovi tag utilizzato per interrompere il rendering del codice JSF commentato sul lato client.
D # 23) Descrivi le librerie di tag standard JSF
Risposta: La libreria di tag standard JSF è costituita da vari tipi di input HTML. Alcuni di loro sono elencati di seguito:
- h: inputText: Crea una casella di testo HTML di tipo testo
- h: inputSecret: Casella di testo HTML del tipo di password
- h: inputTextarea: Campo di immissione dell'area di testo HTML
- h: inputHidden: Input HTML di tipo nascosto
- h: selectBoolean Checkbox: Per singola casella di controllo HTML
- h: selectManyCheckbox: Per un gruppo di caselle di controllo HTML
- h: selectOneRadio: Per un singolo pulsante di opzione HTML
- h: selectOneListBox: Per casella di riepilogo singola HTML
D # 24) Discuti l'importanza dell'annotazione @ManagedProperty in JSF 2.0.
Risposta: Utilizzando l'annotazione @ManagedProperty, il bean può essere iniettato in un'altra proprietà del bean utilizzando il metodo setter del bean. Abbiamo bisogno di un attributo value contenente il nome del bean che deve essere iniettato.
D # 25) Cosa indica l'annotazione @ApplicationScoped?
Risposta: L'annotazione @ApplicationScoped viene utilizzata per definire l'ambito entro il quale il bean verrà archiviato e rimane nell'interazione dell'utente all'interno delle applicazioni web. I bean gestiti di solito sono in ritardo nell'istanza.
Per istanziare i bean con ambito dell'applicazione con l'avvio dell'applicazione. L'attributo Eager viene reso vero nel bean gestito.
@ManagedBean (desideroso = vero)
@ApplicationScoped
D # 26) Elenca i componenti della tabella con associazione a dati da JSF 2.0.
Risposta: tag viene utilizzato per creare tabelle di dati e componenti di tabelle associate a dati in JSF è costituito da elementi come l'ordinamento delle colonne (ascendente / discendente), le caselle di controllo, l'impaginazione.
D # 27) Elenca le diverse implementazioni di JSF.
Risposta: le implementazioni sono elencate di seguito:
Apache MyFaces | Oracle Mojarra | OmniFaces |
---|---|---|
JSF non supporta servizi middleware come JAAS, JNDI, JMS e Java Mail | Supporta servizi middleware come JAAS, JNDI, JMS e Java Mail | |
PrimeFaces | RichFaces | ICE Faces |
D # 28) Spiegare gli attributi immediati e renderizzati in JSF.
Risposta: Quando il valore booleano di un file attributo immediato è impostato come vero, forzerà le conversioni, gli eventi e l'elaborazione della convalida durante la fase di richiesta del ciclo di vita JSF.
Attributo reso deciderebbe che il componente debba essere visualizzato o meno nella pagina di visualizzazione, utilizza letterali aritmetici e operatori con espressione rvalue e non con espressione lvalue.
D # 29) Elenca i vantaggi dei tag della tabella dati JSF.
dove trovare video di realtà virtuale
Risposta: I tag della tabella dati JSF vengono utilizzati per visualizzare i dati relazionali in formato tabulare nelle pagine di visualizzazione JSF.
I vantaggi offerti dai tag della tabella dati sono:
- Per visualizzare i dati, la tabella dei dati può iterare su array o raccolte di valori.
- I tag della tabella dati offrono attributi per modificare i dati visualizzati nella pagina di visualizzazione JSF.
D # 30) Distinguere tra JSF 1.0 e JSF 2.0.
Risposta: Le differenze tra i due sono elencate di seguito:
JSF1.2 | JSF 2.0 |
---|---|
I bean gestiti sono registrati in faces-config.xml con JSF 1.2 | Le annotazioni vengono utilizzate per registrare i bean gestiti in JSF 2.0 |
In JSF 1.0 i Faces Servlet sono configurati in web.xml con pattern URL come / faces / * | In JSF 2.0 i Faces Servlet sono configurati in web.xml con url-pattern come * .xhtml |
JSF 1.2 è stato rilasciato con EL e una gestione della vista migliorata e unificata per rimuovere l'accoppiamento stretto con JSP. | JSF 2.0 offre supporto per richieste GET, nuovo ambito di visualizzazione, uso di annotazioni, generici, include facelets come visualizzazione predefinita al posto di JSP e gestione delle risorse |
JSF 1.0 utilizza l'API per i componenti personalizzati | JSP è deprecato in JSF2.0 e sostituito da Facelets (xhtml) |
D # 31) Spiegare le migliori pratiche applicate per creare un'applicazione JSF.
Risposta: Le migliori pratiche o regole da seguire durante lo sviluppo web utilizzando JSF relative a vari bean di supporto dell'ambito sono le seguenti:
- Inizia con @RequestScoped Bean fino a quando i dati aziendali e lo stato non si perdono, quindi scegli l'ambito di livello superiore successivo.
- Per interrompere la condivisione dei dati o dello stato tra tutti gli utenti, evitare l'ambito @ApplicationScoped.
- Per interrompere la condivisione dei dati o dello stato tra tutte le schede del browser, evitare @SessionScope.
- Per evitare la perdita di dati e stato su richieste HTTP, evitare @RequestScope.
- I bean con ambito di visualizzazione, flusso, sessione e conversazione non hanno alcun effetto sugli utenti.
- Evita di chiamare la logica di business nei metodi getter dei backing bean JSF.
- Usa set di risultati in una proprietà valore.
- Il metodo annotato @PostConstruct viene utilizzato per calcolare il set di risultati.
D # 32) Descrivi l'architettura di JavaServer Faces
Risposta: JavaServer Faces implementa il design pattern MVC, i componenti sono definiti separatamente, con una logica diversa.
- Visualizza componente per la logica di presentazione e
- Viene implementato il componente modello per la logica aziendale.
- Il componente controller controlla la navigazione da una vista all'altra ed esegue vari metodi del modello.
La parte controller è costituita da
- Controller servlet i.e. FacesServlet
- File di configurazione centralizzato, ad esempio faces-config.xml
- Set di gestori di eventi per applicazioni web.
D # 33) Quali sono le differenze tra JSF e il framework Spring?
Risposta: Le differenze tra i due sono elencate di seguito:
Facce di Java Server | Primavera |
---|---|
JSF vengono utilizzati per creare interfacce utente basate su componenti per applicazioni web. | Spring usa DispatcherServlet e il design pattern model-view-controller per l'applicazione web. |
Ha un framework di interfaccia utente maturo completo e ricco di componenti lato server del ciclo di vita delle richieste | Spring offre framework applicativi per applicazioni autonome, web e distribuite. |
JSF consente l'integrazione con HTML, JSP nello sviluppo del componente di visualizzazione del controller di visualizzazione del modello. | Velocità, Marcatore libero ecc. Vengono utilizzati per il componente di visualizzazione con il framework Spring |
Non ha un supporto predefinito per integrare JDBC, EJB, Hibernate e RMI | Offre supporto predefinito per JDBC, EJB, Hibernate, RMI ecc. |
JSF è un framework pesante | La primavera è una struttura leggera |
Ha più dipendenza dalle API e non supporta le implementazioni POJO | Ha implementazioni POJO e minore dipendenza dalle API. |
Conclusione
JavaServer Faces è un framework basato sul Web Java che progetta i componenti dell'interfaccia utente utilizzando bean gestiti, backing bean, Facelets e altre librerie personalizzate come prime facce o ice face.
Gli architetti dell'applicazione, gli sviluppatori, i componenti e gli autori di pagine dovrebbero avere una buona dimestichezza con vari framework come Java Server Faces, oltre ad altri framework come Spring, Hibernate e Struts.
Questo tutorial sulle domande delle interviste JSF ti aiuta a prepararti per la maggior parte delle interviste JSF.
Lettura consigliata
- Top 20 programmi di interviste Java per interviste di programmazione e codifica
- Domande e risposte per l'intervista JSP (aggiornato 2021)
- 30+ TOP Domande e risposte al colloquio con servlet (ELENCO 2021)
- Top 50+ Core Java Intervista Domande e Risposte
- Oltre 30 principali domande di intervista sulle raccolte Java con risposte (ELENCO 2021)
- 25 migliori framework e strumenti di test Java per test di automazione (parte 3)
- Top 20+ .NET Intervista Domande e risposte
- Domande e risposte dell'intervista