top 30 jsf interview questions
Acest tutorial oferă întrebări și răspunsuri la întrebări frecvente despre Java Server Faces sau JSF cu explicații pentru a vă ajuta să vă pregătiți pentru interviu:
Este esențial pentru Java Developer să aibă cunoștințe de lucru într-unul sau mai multe framework-uri Java utilizate în mod popular precum Spring, Hibernate, Struts și Java Server Faces (JSF).
JSF este unul dintre cadrul Java care ajută rapid la proiectarea componentelor interfeței utilizatorului web.
creați o adresă de e-mail falsă temporară
JSP a fost o tehnologie Java care a folosit Java API, obiecte implicite și etichete personalizate pentru a dezvolta conținut web dinamic, în timp ce a folosit Java Server Faces (JSF), un cadru de aplicații web bazat pe Java pentru a dezvolta componente de interfață utilizator bazate pe web.
JSF a gestionat fasole, permisiuni de față, adnotări și biblioteci de utilități, cum ar fi fețe prime și fețe Omni sau fețe de gheață, pentru a dezvolta componente bazate pe șabloane pe partea de server.
Ce veți învăța:
Java Server Faces
Tehnologia Java Server Faces oferă API pentru a construi componente de interfață utilizator reutilizabile în paginile web. Conectează componentele cu sursa de date a aplicației și evenimentele generate de client la gestionarele de evenimente din partea serverului, menține starea UI pe mai multe cereri de server, precum și implementează componente personalizate.
JSF oferă o bibliotecă de bază, elemente de intrare HTML standard ca componente UI de bază, bazate pe diferite dispozitive și tip client, cum ar fi browserul HTML, dispozitivele WAP sau wireless, oferă capacitatea de redare a componentelor UI.
Întrebări frecvente ale interviului JSF
Q # 1) Ce este Java Server Faces (JSF)?
Răspuns: Este un cadru Java bazat pe designul MVC care are biblioteci bogate de API și etichete care oferă crearea de componente de interfață utilizator de partea serverului pentru dezvoltarea web.
JSF are o bibliotecă de etichete, API, Facelets și componente UI și fasole gestionate pentru a crea aplicații web.
Q # 2) Ce caracteristici oferă Java Server Faces în dezvoltarea web?
Răspuns: Funcțiile sunt enumerate mai jos:
- Framework Java construit pe API Servlet
- Componentele UI sunt stocate pe server
- Model de programare bazat pe evenimente care este gestionat pe server
- Suportă mai multe dispozitive client
- Ușurința de a implementa componente terță parte
- Arhitectură extensibilă
- Suport extins pentru instrumente de la Borland, Exadel, Sun, Oracle, IBM, BEA etc.
- Abordarea dezvoltării rapide a aplicațiilor (RAD)
- Sprijină internaționalizarea etichetelor și a textului UI
Caracteristici Java Server Faces:
Q # 3) Explicați ciclul de viață JSF.
Răspuns: Ciclul de viață conține 6 faze, după cum se explică mai jos:
# 1) Restaurare vizualizare: Ciclul de viață începe cu faza de vizualizare restaurare. Când se face clic pe un link sau buton pe pagina web, o cerere este trimisă către JSF cu operațiunile enumerate mai jos:
- Vizualizarea este construită de JSF
- Conectează gestionarii de evenimente și validatorii la componentele interfeței utilizatorului
- Salvează această vizualizare în instanța FacesContext
- Oferă toate informațiile către FacesContext pentru a procesa cererea
# 2) Solicitați cererea: Aici se creează fiecare componentă din arborele componentelor. Utilizați metoda de decodare care captează și salvează noi valori din parametrii cererii. În caz de eșec în timpul conversiei, acesta generează un mesaj de eroare și îl afișează pe FacesContext. Va afișa mesaje de validare sau erori în timpul fazei de răspuns la randare. JSF se mută pentru a reda faza de răspuns atunci când decodează metoda ascultătorilor de evenimente apelează metoda renderResponse.
# 3) Validarea procesului: În această fază, JSF procesează validatorii de arbori ai componentelor, examinează regulile atributelor pentru validare și le compară cu valoarea locală stocată a componentei. În cazul unei valori locale nevalide, JSF adaugă un mesaj de eroare la instanța FacesContext, afișând aceeași pagină cu un mesaj de eroare și cu ciclul de viață JSF care se deplasează mai departe spre faza de răspuns de redare.
# 4) Actualizarea valorii modelului: După ce JSF verifică datele valide, acesta stabilește proprietățile corespunzătoare ale obiectului de pe server la valorile locale ale componentei și actualizează proprietățile bean, corespunzătoare atributului valorii componentei de intrare. Când renderResponse de la instanța curentă a FacesContext este apelat prin metode updateModels, JSF trece la faza de răspuns de redare.
# 5) Invocați cererea: Evenimente la nivel de aplicație precum trimiterea formularului sau redirecționarea către o altă pagină sunt gestionate de Java Server Faces în această fază.
# 6) Răspunsul de redare: În cazul în care aplicația are pagini JSP, JSF solicită serverului de aplicații să redea pagina, astfel adăugând componente pe pagină în arborele componentelor. În caz contrar, un arbore de componente deja construit nu trebuie să adauge componente; JSP container mută etichete și redă componente. Starea de răspuns este salvată după redarea conținutului de vizualizare, solicitările succesive pot accesa starea și disponibilitatea acesteia pentru a restabili faza de vizualizare.
Q # 4) Care este semnificația fasolei gestionate în Java Server Faces?
Răspuns: Fasolele gestionate sunt fasole Java care cuprind metode getter și setter și care au concepute logica de afaceri. Opțional, poate avea un bob de sprijin. Acestea acționează ca un model pentru componentele UI în cadrul MVC.
Pentru JSF 1.2, este necesar să le înregistrați în fișierul de configurare JSF, faces-config.xml, în timp ce, de la JSF 2.0, adnotările sunt utilizate pentru a înregistra beans gestionate.
Q # 5) Care sunt scopurile boabelor gestionate?
Răspuns: Managed Beans sunt o clasă Java care constă dintr-un set de metode și proprietăți getter / setter. Acționează ca un model al cadrului JSF și oferă funcționalități precum,
- Validarea datelor componentelor
- Gestionați execuția unui eveniment component
- Procesare pentru a decide ce pagină navighează în continuare
- JSF folosește fasole gestionate fie prin configurarea lor într-un fișier XML, fie prin adnotări.
Următoarele domenii sunt utilizate pentru clasa de fasole gestionată:
- Cerere
- Sesiune
- Vedere
- Cerere
- Nici unul
- Personalizat
Q # 6) Ce este o fațetă?
Răspuns: Faceletele sunt un limbaj ușor de declarare a paginilor care folosește șabloane de stil HTML pentru a construi arborele componentelor pentru a construi vizualizările fețelor serverului Java.
Unele dintre funcțiile Facelets sunt enumerate mai jos:
- Folosește XHTML pentru crearea de pagini web.
- Pe lângă bibliotecile de etichete JSF și JSTL, oferă biblioteci de etichete Facelets.
- Suport pentru limbaj de expresie, componente și șabloane de pagini.
Q # 7) Explicați avantajele utilizării Facelet.
Răspuns: Avantajele sunt următoarele:
- Timp rapid de compilare
- Redare performantă
- Extinde funcționalitatea sa la componente și alte obiecte de pe server prin personalizare
- Suport pentru reutilizarea codului prin componente compozite și șablonare
- Validare EL în timp de compilare
Q # 8) Listează etichetele Facelet utilizate în Java Server Face.
Răspuns: Unele dintre etichetele Facelet utilizate în JSF sunt enumerate mai jos:
- ui: componentă definește componenta creată și se adaugă la arborele componentei.
- ui: compoziție definește compoziția paginii, folosește șabloane opțional și ignoră conținutul din exterior.
- ui: depanare definește componenta de depanare creată și se adaugă la arborele componentelor.
- ui: decora este similar cu eticheta componentă, luați în considerare conținutul în afara acestei etichete.
- ui: define este folosit pentru a defini conținutul inserat în pagină de un șablon.
- ui: fragment este similar cu componenta și decorează eticheta. Acesta consideră conținutul în afara acestei etichete.
- ui: include refolosește și încapsulează mai multe pagini de conținut.
- ui: inserare pe măsură ce numele inserează conținut într-un șablon.
- ui: oprește-te treceți parametrii în fișierul inclus.
- ui: repetați o alternativă pentru etichetele de buclă, cum ar fi c: forEach sau c: dataTable.
- ui: elimina este folosit pentru a elimina conținutul dintr-o pagină.
Q # 9) Lista tipurilor de navigare pe pagină acceptate de JSF.
Răspuns: JSF acceptă următoarele tipuri de navigare a paginii:
- Navigare condiționată
- Navigare către redirecționare versus redirecționare
- Navigare implicită
- Navigare prin bean gestionat
- Navigare prin redirecționare
Q # 10) Descrieți diverse etichete de câmp text oferite de JSF.
Răspuns: Diverse etichete de câmp text sunt descrise mai jos:
- introduce caseta de text adiacentă câmpului de etichetă.
- este folosit ca container pentru introducerea a numeroase caractere.
- este un tip de câmp text care este utilizat pentru câmpul de parolă, astfel încât datele introduse să nu fie dezvăluite.
Q # 11) Descrieți expresia valorii și expresia metodei.
Răspuns: Expresia valorii recuperează o valoare și setează o valoare. Acestea sunt împărțite în continuare în expresia valorii și expresia valorii. valoare poate citi doar date, întrucât valoare poate citi și scrie date.
Metoda publică a beanului este invocată prin expresia Method care returnează rezultatul necesar pentru validarea componentei de date și gestionarea evenimentelor.
Q # 12) Ce tipuri de validări sunt disponibile în JSF?
client ssh gratuit pentru Windows 10
Răspuns: Există două tipuri de validări în JSF și anume, Declarativ și Imperativ.
- Declarativ validările sunt invocate utilizând validatori standard JSF sau validatori Bean.
- Imperativ validările sunt validatoare complexe declarate de utilizator care anulează validarea standard, deoarece mesajele de validare standard nu sunt adecvate în toate cazurile.
Q # 13) Lista expresiilor acceptate de limbajul de expresie JSF.
Răspuns: Expresiile acceptate sunt enumerate mai jos:
- Expresie imediata a valorii
- Exprimarea valorii amânate
- Expresia valorii
- Expresia metodei
Q # 14) Descrieți diferite tipuri de evenimente JSF.
Răspuns: Există în principal trei tipuri de evenimente JSF și anume, evenimente de acțiune, evenimente de modificare a valorii și evenimente de fază.
- Evenimente de acțiune sunt generate pentru componentele interfeței utilizatorului, cum ar fi butonul de comandă sau hyperlinkul de comandă.
- Evenimente de schimbare a valorii câmp text de referință, casetă listă butoane radio. Orice modificare a valorii în aceste componente de interfață va invoca un eveniment de modificare a valorii.
- Evenimente de fază sunt declanșate fie la începutul, fie spre sfârșitul oricăreia dintre cele șase faze ale ciclului de viață JSF.
Q # 15) Explicați în detaliu componentele tabelelor legate de date.
Răspuns: Componentele responsabile de afișarea datelor relaționale în format tabelar sunt cunoscute ca componente ale tabelelor legate de date. etichetă repetă fiecare înregistrare afișată în rânduri, în timp ce etichetă afișează componentele de date.
Unele dintre atributele h: dataTable sunt celular, celular, bgcolor și chenar.
Q # 16) Listează etichetele de validare disponibile în JSF.
Răspuns: Etichetele de validare sunt enumerate mai jos:
- f: validateLength este folosit pentru a valida lungimea șirului.
- f: validateLongRange este utilizat în timpul validării intervalului de valori numerice.
- f: validateDoubleRange este utilizat în timpul validării intervalului de valori float.
- f: validateRegex: validarea compară expresia regulată dată cu componentele JSF.
Q # 17) Ce sunt adnotările JSF?
Răspuns: Adnotarea în JSF ajută la dezvoltarea unui cod clar și curat. Poate fi folosit în pachete, clase, constructori, interfețe, câmpuri, metode, parametri, variabile sau adnotări în sine.
Există în principal trei categorii de adnotări - și anume Markere, adnotare cu valoare unică, adnotări complete.
Q # 18) Descrieți gruparea resurselor.
Răspuns: Este întotdeauna convenabil să stocați etichete UI, format de dată, mesaje de stare și elemente text UI, cum ar fi stocarea parametrilor pentru localizări pentru internaționalizare etc. în fișierul de proprietăți, în loc să le codificați în fiecare pagină XHTML. Stocarea acestor valori constante într-un singur fișier și afișarea acestor valori pe diverse pagini este cunoscută sub numele de grupare de resurse.
Descriptorul de implementare faces-config.xml conține setări de configurare pentru aplicația JSF, unde putem configura pachetul de resurse și putem salva aceste valori în el.
Q # 19) Enumerați avantajele utilizării cadrului JSF.
Răspuns: Următoarele sunt câteva dintre beneficiile importante:
- Cadrul JSF creează rapid interfețe utilizator cu biblioteca de componente UI încorporată, cu o separare între prezentare și comportament.
- Are o arhitectură bogată pentru gestionarea, procesarea, validarea intrărilor utilizatorilor.
- Evenimentele sale sunt integrate cu codul de pe server.
- Oferă control la nivel de componentă conectabil.
- Suportă funcții de accesibilitate și internaționalizare.
Q # 20) Enumerați avantajele limbajului de expresie.
Răspuns: Limbajul expresiei oferă următoarele avantaje:
- Autorii paginii pot reduce la minimum utilizarea scripturilor în pagina web
- Oferiți o productivitate mai mare
- Ușor de întreținut
- Curba de învățare plană
- Inclus în JSP 2.0, JSF
- Utilizarea expresiei în diferite etape ale ciclului de viață al paginii
- Setați datele obiectelor externe și obțineți aceste date folosind expresii
- Expresiile metodei oferă gestionarea evenimentelor, validarea și alte funcționalități pentru componentele UI JSF
Q # 21) Explicați ce poate conține directorul de fișiere război al aplicației Java Server Faces?
Răspuns: Fișierul de arhivă al aplicației web (război) al aplicației JSF conține următoarele:
- web.xml - o resursă de configurare a descriptorului de aplicații web pentru aplicații web.
- Clase esențiale într-un set de fișiere JAR (Java Archive).
- Clase de aplicații, pagini Java Server Faces, alte resurse necesare, cum ar fi fișiere imagine.
- Fișiere de resurse pentru configurarea aplicației.
Q # 22) Ce tipuri de etichete Facelet sunt utilizate în JSF 2.0?
Răspuns: Diferite tipuri de etichete Facelet în JSF 2.0 sunt:
- Șabloane oferă stil și interfață de interfață comune în aplicațiile web, ui: insert, ui: define, ui: include și ui: composition.
- Tag-uri Param sunt pentru trecerea parametrilor la fișierul șablon.
- Etichete personalizate pentru a reda conținut personalizat.
- Scoate eticheta folosit pentru a opri redarea codului JSF comentat din partea clientului.
Q # 23) Descrieți bibliotecile de etichete standard JSF
Răspuns: Biblioteca de etichete standard JSF constă din diferite tipuri de intrare HTML. Unele dintre ele sunt enumerate mai jos:
- h: inputText: Creează casetă text HTML de tip text
- h: inputSecret: Casetă text HTML de tip parolă
- h: inputTextarea: Câmp de introducere textarea HTML
- h: inputHidden: Intrare HTML de tip ascuns
- h: selectați Caseta de selectare booleană: Pentru caseta de selectare HTML unică
- h: selectManyCheckbox: Pentru grupul de casete de selectare HTML
- h: selectOneRadio: Pentru un singur buton radio HTML
- h: selectOneListBox: Pentru casetă listă HTML unică
Q # 24) Discutați despre importanța adnotării @ManagedProperty în JSF 2.0.
Răspuns: Folosind adnotarea @ManagedProperty, bobul poate fi injectat într-o altă proprietate a bobului, utilizând metoda setatorului bobului. Avem nevoie de un atribut de valoare care să conțină numele bean care trebuie injectat.
Q # 25) Ce indică adnotarea @ApplicationScoped?
Răspuns: Adnotarea @ApplicationScoped este utilizată pentru a defini domeniul de aplicare în care beanul va fi stocat și rămâne în interacțiunea utilizatorului în cadrul aplicațiilor web. Boabele gestionate rămân de obicei pentru a crea instantanee.
Pentru a instanția fasole cu scop de aplicare cu începutul aplicației. Atributul Eager se realizează în bean gestionat.
@ManagedBean (dornic = adevărat)
@ApplicationScoped
oracle pl sql interviu întrebări și răspunsuri
Q # 26) Listează componentele tabelelor legate de date din JSF 2.0.
Răspuns: eticheta este utilizată pentru a crea tabelul de date și componentele tabelelor legate de date în JSF constă din elemente precum Sortarea coloanelor (crescătoare / descendentă), Casetele de selectare, Paginarea.
Q # 27) Enumerați diferite implementări ale JSF.
Răspuns: Implementările sunt enumerate mai jos:
Apache MyFaces | Oracle Mojarra | OmniFaces |
---|---|---|
JSF nu acceptă servicii middleware precum JAAS, JNDI, JMS și Java Mail | Suportă servicii middleware precum JAAS, JNDI, JMS și Java Mail | |
PrimeFaces | RichFaces | ICE Faces |
Q # 28) Explicați atributele imediate și redate în JSF.
Răspuns: Când valoarea booleană a unui atribut imediat este setat ca fiind adevărat, va forța conversiile, evenimentele și procesarea validării în timpul fazei de solicitare a ciclului de viață JSF.
Atribut redat ar decide componenta să fie redată sau nu în pagina de vizualizare, folosește litere aritmetice și operatori cu expresie rvalue și nu cu expresie lvalue.
Q # 29) Enumerați avantajele etichetelor de tabel de date JSF.
Răspuns: Etichetele din tabelul de date JSF sunt utilizate pentru a afișa datele relaționale în format tabelar pe paginile de vizualizare JSF.
Avantajele oferite de etichetele din tabelul de date sunt:
- Pentru a afișa date, tabelul de date poate itera peste matrice sau colecție de valori.
- Etichetele Tabelului de date oferă atribute pentru a-și modifica datele care sunt afișate în pagina de vizualizare JSF.
Q # 30) Diferențiați între JSF 1.0 și JSF 2.0.
Răspuns: Diferențele dintre cele două sunt enumerate mai jos:
JSF1.2 | JSF 2.0 |
---|---|
Fasolele gestionate sunt înregistrate în faces-config.xml cu JSF 1.2 | Adnotările sunt folosite pentru a înregistra fasole gestionate în JSF 2.0 |
În JSF 1.0 Servletul Faces este configurat în web.xml cu modelul URL ca / faces / * | În JSF 2.0 Faces Servlet sunt configurate în web.xml cu url-pattern ca * .xhtml |
JSF 1.2 a fost lansat cu EL și gestionarea îmbunătățită și unificată a vizualizării pentru a elimina cuplajul strâns cu JSP. | JSF 2.0 oferă suport pentru solicitări GET, vizualizare nouă, utilizare de note, generice, include fațete ca vizualizare implicită în locul JSP și gestionarea resurselor |
JSF 1.0 utilizează API pentru componente personalizate | JSP este depreciat în JSF2.0 și înlocuit cu Facelets (xhtml) |
Q # 31) Explicați cele mai bune practici aplicate pentru a construi aplicația JSF.
Răspuns: Cele mai bune practici sau reguli care trebuie respectate în timpul dezvoltării web utilizând JSF legate de diferite bean-uri de sprijin sunt:
- Începeți cu @RequestScoped Bean până când datele și starea afacerii se pierd și apoi alegeți următorul domeniu de nivel superior.
- Pentru a opri partajarea datelor sau starea tuturor utilizatorilor, evitați domeniul de aplicare @ApplicationScoped.
- Pentru a opri partajarea datelor sau starea între toate filele browserului, evitați @SessionScope.
- Pentru a preveni pierderea datelor și a stării prin cereri HTTP, evitați @RequestScope.
- Vizualizarea, fluxul, sesiunea și conversația nu au niciun efect asupra utilizatorilor.
- Evitați să apelați logica de afaceri în metodele getter care susțin fasole JSF.
- Utilizați setul de rezultate într-o proprietate de valoare.
- Metoda adnotată @PostConstruct este utilizată pentru a calcula setul de rezultate.
Q # 32) Descrieți arhitectura JavaServer Faces
Răspuns: JavaServer Faces implementează modelul de proiectare MVC, componentele sunt definite separat, cu logică diferită.
- Vizualizați componenta pentru logica prezentării și
- Componenta model pentru logica de afaceri este implementată.
- Componenta controlerului controlează navigarea de la o vedere la alta și execută diverse metode de model.
Partea controlerului constă din
- Servlet controler adică FacesServlet
- Fișier de configurare centralizat, adică faces-config.xml
- Set de gestionare de evenimente pentru aplicații web.
Q # 33) Care sunt diferențele dintre JSF și cadrul de primăvară?
Răspuns: Diferențele dintre cele două sunt enumerate mai jos:
Java Server Faces | Arc |
---|---|
JSF sunt utilizate pentru crearea de interfețe de utilizator bazate pe componente pentru aplicații web. | Spring utilizează modelul de proiectare DispatcherServlet și model-view-controller pentru aplicația web. |
Dispune de un cadru de interfață utilizator matur, cuprinzător și bogat în componente de pe partea de server a ciclului de viață | Spring oferă cadru de aplicații pentru aplicații independente, web și distribuite. |
JSF permite integrarea cu HTML, JSP în dezvoltarea componentei de vizualizare a controlerului de vizualizare model. | Viteza, Markerul gratuit etc. sunt utilizate pentru componenta de vizualizare cu cadrul Spring |
Nu are suport predefinit pentru integrarea JDBC, EJBs, Hibernate și RMI | Oferă suport predefinit pentru JDBC, EJB, Hibernate, RMI etc. |
JSF este un cadru cu greutate mare | Primăvara este un cadru ușor |
Are mai multă dependență API și nu are suport pentru implementările POJO | Are implementări POJO și mai puțină dependență API. |
Concluzie
JavaServer Faces este un cadru web Java care proiectează componente ale interfeței utilizatorului folosind fasole gestionate, fasole de sprijin, fațete și alte biblioteci personalizate, cum ar fi fețe prime sau fețe de gheață.
Arhitecții de aplicații, dezvoltatorii, componentele și autorii paginilor ar trebui să cunoască bine diverse cadre precum Java Server Faces, pe lângă alte cadre precum Spring, Hibernate și Struts.
Acest tutorial pentru întrebări despre interviu JSF vă ajută să vă pregătiți pentru majoritatea interviurilor JSF.
Lectură recomandată
- Top 20 de programe Java de interviu pentru programare și codificare
- Întrebări și răspunsuri la interviul JSP (Actualizat în 2021)
- 30+ Întrebări și răspunsuri de interviu TOP Servlet (LISTA 2021)
- Top 50+ Întrebări și răspunsuri de bază pentru interviuri Java
- Întrebări de peste 30 de colecții Java de top cu răspunsuri (LISTA 2021)
- Cele mai bune 25 de cadre de testare Java și instrumente pentru testarea automatizării (partea 3)
- Top 20+ .NET Întrebări și răspunsuri la interviu
- Întrebări și răspunsuri la interviu