top 30 jsf interview questions
Aquest tutorial proporciona preguntes i respostes de les entrevistes Java Server Faces o JSF amb explicacions per ajudar-vos a preparar-vos per a l'entrevista:
És fonamental que el desenvolupador de Java tingui coneixements pràctics en un o més marcs Java utilitzats popularment com Spring, Hibernate, Struts i Java Server Faces (JSF).
JSF és un dels marcs Java que ajuda ràpidament a dissenyar components de la interfície d'usuari web.
JSP era una tecnologia Java que utilitzava Java API, objectes implícits i etiquetes personalitzades per tal de desenvolupar contingut web dinàmic, mentre que utilitzava Java Server Faces (JSF), un marc d'aplicacions web basat en Java per desenvolupar components d'interfície d'usuari basats en web.
JSF ha gestionat mongetes, llums facials, anotacions i biblioteques d’utilitat, com ara cares principals i cares Omni o cares de gel, per desenvolupar components basats en plantilles del servidor.
Què aprendreu:
Cares de servidor Java
La tecnologia Java Server Faces ofereix API per crear components d'interfície d'usuari reutilitzables a les pàgines web. Connecta components amb la font de dades de l’aplicació i els esdeveniments generats pel client amb els controladors d’esdeveniments del servidor, manté l’estat de la interfície d’usuari en diverses sol·licituds de servidor, així com implementa components personalitzats.
fitxers swf que no es reprodueixen al navegador
JSF proporciona una biblioteca bàsica, elements d’entrada HTML estàndard com a components d’interfície d’usuari base, basats en diversos dispositius i tipus de client, per exemple, el navegador HTML, els dispositius WAP o sense fils, proporciona capacitat de representació als components de la interfície d’usuari.
Preguntes freqüents sobre l'entrevista JSF
P # 1) Què són les cares de servidor Java (JSF)?
Resposta: És un framework Java basat en el disseny de MVC que compta amb biblioteques d’API i etiquetes riques que ofereixen la creació de components d’interfície d’usuari del costat del servidor per al desenvolupament web.
JSF té una biblioteca d’etiquetes, API, facelets i components d’interfície d’usuari i mongetes gestionades per crear aplicacions web.
Q # 2) Quines funcions ofereixen Java Server Faces en el desenvolupament web?
Resposta: Les funcions es detallen a continuació:
- Framework Java basat en l'API Servlet
- Els components de la interfície d’usuari s’emmagatzemen al servidor
- Model de programació basat en esdeveniments que es gestiona al servidor
- Admet múltiples dispositius client
- La facilitat d’implementar components de tercers
- Arquitectura extensible
- Àmplia compatibilitat amb eines de Borland, Exadel, Sun, Oracle, IBM, BEA, etc.
- Enfocament de desenvolupament d’aplicacions ràpides (RAD)
- Admet la internacionalització de text i etiquetes d’interfície d’usuari
Característiques de Java Server Faces:
Q # 3) Expliqueu el cicle de vida de JSF.
Resposta: El cicle de vida conté 6 fases, tal com s’explica a continuació:
# 1) Vista de restauració: El cicle de vida comença amb la fase de visualització de restauració. Quan es fa clic a un enllaç o un botó a la pàgina web, s’envia una sol·licitud a JSF amb les operacions que s’enumeren a continuació:
- La visualització està creada per JSF
- Connecta els gestors i validadors d'esdeveniments als components de la interfície d'usuari
- Desa aquesta visualització a la instància de FacesContext
- Proporciona tota la informació a FacesContext per processar la sol·licitud
# 2) Sol·licita la sol·licitud: Aquí es crea cada component de l'arbre de components. Utilitzeu el mètode de descodificació que captura i desa nous valors dels paràmetres de sol·licitud. En cas d’error durant la conversió, genera un missatge d’error i l’enumera a FacesContext. Es mostraran missatges de validació o errors durant la fase de resposta de renderització. JSF es mou a la fase de resposta de renderització quan els oients d'esdeveniments de mètode de descodificació criden al mètode renderResponse
# 3) Validació del procés: Durant aquesta fase, JSF processa els validadors d’arbre de components, examina les regles d’atribut per a la validació i les compara amb el valor local emmagatzemat del component. En cas de valor local no vàlid, JSF afegeix un missatge d'error a la instància de FacesContext, mostrant la mateixa pàgina amb un missatge d'error i amb el cicle de vida de JSF avançant cap a la fase de resposta de renderització.
# 4) Actualització del valor del model: Després que JSF verifiqui dades vàlides, estableix les propietats de l’objecte del servidor corresponents als valors locals del component i actualitza les propietats del bean, que corresponen a l’atribut de valor del component d’entrada. Quan els mètodes updateModels criden renderResponse des de la instància actual de FacesContext, JSF passa a la fase de resposta de renderització.
# 5) Invoca l'aplicació: Durant aquesta fase, Java Server Faces gestiona esdeveniments a nivell d'aplicació, com l'enviament de formularis o el reenviament a una altra pàgina.
# 6) Resposta de renderització: En cas que l'aplicació tingui pàgines JSP, JSF sol·licita al servidor d'aplicacions que renderitzi la pàgina i, per tant, afegeix components a la pàgina a l'arbre de components. En cas contrari, un arbre de components ja construït no necessita afegir cap component; El contenidor JSP mou etiquetes i rendeix components. L'estat de resposta es desa després de renderitzar el contingut de la visualització, fent peticions successives que poden accedir a l'estat i a la seva disponibilitat per restaurar la fase de visualització.
Q # 4) Quina és la importància dels grans gestionats a les cares del servidor Java?
Resposta: Els fesols gestionats són fesols Java que inclouen mètodes getter i setter i que tenen dissenyada una lògica empresarial. Opcionalment, pot tenir una mongeta de suport. Actuen com a model per als components de la interfície d’usuari en el marc MVC.
Per a JSF 1.2, cal registrar-los al fitxer de configuració de JSF, faces-config.xml, mentre que, a partir de JSF 2.0, s’utilitzen anotacions per registrar els grans gestionats.
P # 5) Quins són els àmbits de les mongetes gestionades?
Resposta: Managed Beans és una classe Java que consisteix en un conjunt de mètodes i propietats getter / setter. Actua com a model del marc JSF i ofereix funcionalitats com,
- Validació de dades de components
- Gestioneu l'execució d'un esdeveniment component
- S'està processant per decidir quina pàgina navega a continuació
- JSF utilitza grans gestionats configurant-los en un fitxer XML o mitjançant anotacions.
Els següents àmbits s'utilitzen per a la classe de bean gestionat:
- Aplicació
- Sessió
- Veure
- Sol·licitud
- Cap
- Personalitzat
P # 6) Què és un facelet?
Resposta: Les facetes són un llenguatge de declaració de pàgines lleuger que utilitza plantilles d’estil HTML per crear arbre de components per crear vistes de cares del servidor Java.
Algunes de les funcions de Facelets s’enumeren a continuació:
- Utilitza XHTML per crear pàgines web.
- A més de les biblioteques d’etiquetes JSF i JSTL, ofereix biblioteques d’etiquetes Facelets.
- Suport de llenguatge d’expressions, components i plantilles de pàgines.
Q # 7) Expliqueu els avantatges d'utilitzar Facelet.
Resposta: Els avantatges són els següents:
- Temps de compilació ràpid
- Representació d'alt rendiment
- Estén la seva funcionalitat a components i altres objectes del servidor mitjançant la personalització
- Suport per a la reutilització de codi mitjançant components compostos i plantilles
- Compile-time EL validation
Q # 8) Llista les etiquetes Facelet utilitzades a Java Server Face.
Resposta: A continuació s’enumeren algunes de les etiquetes Facelet que s’utilitzen a JSF:
- ui: component defineix el component creat i s'afegeix a l'arbre de components.
- ui: composició defineix la composició de la pàgina, utilitza plantilles opcionalment i ignora el contingut de fora.
- ui: depurar defineix el component de depuració creat i s'afegeix a l'arbre de components.
- ui: decorar és similar a l'etiqueta de component, tingueu en compte el contingut fora d'aquesta etiqueta.
- ui: definir s’utilitza per definir el contingut inserit a la pàgina per una plantilla.
- ui: fragment és similar al component i decora l'etiqueta. Considera el contingut fora d’aquesta etiqueta.
- ui: incloure reutilitza i encapsula contingut de diverses pàgines.
- ui: inserir ja que el nom insereix contingut a una plantilla.
- ui: aturar-se passar paràmetres al fitxer inclòs.
- ui: repetir una alternativa per a etiquetes de bucle, com ara c: forEach o c: dataTable.
- ui: eliminar s’utilitza per eliminar contingut d’una pàgina.
Q # 9) Llista de tipus de navegació de pàgines compatibles amb JSF.
Resposta: JSF admet els tipus de navegació de pàgina següents:
- Navegació condicional
- Navegació cap endavant versus redirecció
- Navegació implícita
- Navegació mitjançant bean gestionat
- Navegació mitjançant redirecció de navegació
Q # 10) Descriviu diverses etiquetes de camp de text que ofereix JSF.
Resposta: A continuació es descriuen diverses etiquetes de camps de text:
- insereix un quadre de text adjacent al camp de l'etiqueta.
- s'utilitza com a contenidor per introduir nombrosos caràcters.
- és un tipus de camp de text que s'utilitza com a camp de contrasenya perquè no es revelin les dades introduïdes.
Q # 11) Descriviu l'expressió de valor i l'expressió de mètode.
Resposta: L’expressió de valor recupera un valor i estableix un valor. A més, es divideixen en expressió de valor i expressió de valor. valor mentre que només pot llegir dades valor pot llegir i escriure dades.
El mètode públic del bean s’invoca mitjançant l’expressió Method que retorna el resultat necessari per validar el component de dades i la gestió d’esdeveniments.
P # 12) Quins tipus de validacions hi ha disponibles a JSF?
Resposta: Hi ha dos tipus de validacions a JSF, a saber, declaratives i imperatives.
- Declarativa les validacions s’invoquen mitjançant validadors estàndard JSF o validadors Bean.
- Imperatiu les validacions són validadors complexos declarats per l'usuari que anul·len la validació estàndard, ja que els missatges de validació estàndard no són adequats en tots els casos.
Q # 13) Llista expressions compatibles amb el llenguatge d'expressió JSF.
Resposta: A continuació es detallen les expressions admeses:
- Expressió de valor immediata
- Expressió de valor diferit
- Expressió de valor
- Expressió del mètode
Q # 14) Descriviu diversos tipus d'esdeveniments JSF.
Resposta: Hi ha principalment tres tipus d’esdeveniments JSF, a saber, esdeveniments d’acció, esdeveniments de canvi de valor i esdeveniments de fase.
- Esdeveniments d'acció es generen per a components de la interfície d'usuari com el botó d'ordres o l'hiperenllaç d'ordres.
- Esdeveniments de canvi de valor camp de text de referència, quadre de llista de botons d’opció. Qualsevol canvi de valor en aquests components de la IU invocarà un esdeveniment de canvi de valor.
- Fets d'esdeveniments es disparen durant el començament o cap al final de qualsevol de les sis fases del cicle de vida del JSF.
Q # 15) Expliqueu detalladament els components de la taula lligada a dades.
Resposta: Els components responsables de mostrar les dades relacionals en format tabular es coneixen com a components de taula vinculats a dades. etiqueta itera per cadascun dels registres que es mostren en files, mentre que etiqueta mostrar components de dades.
Alguns dels atributs de h: dataTable són cel·lulars, cel·lular, bgcolor i vora.
Q # 16) Enumereu les etiquetes de validació disponibles a JSF.
Resposta: A continuació s’enumeren les etiquetes de validació:
- f: validateLength s’utilitza per validar la longitud de la cadena.
- f: validateLongRange s'utilitza mentre es valida l'interval de valors numèrics.
- f: validateDoubleRange s'utilitza mentre es valida l'interval de valors flotants.
- f: validateRegex: la validació compara l'expressió regular donada amb components JSF.
P # 17) Què són les anotacions JSF?
Resposta: L'anotació a JSF ajuda al desenvolupament de codi clar i net. Es pot utilitzar en paquets, classes, constructors, interfícies, camps, mètodes, paràmetres, variables o anotacions.
Hi ha principalment tres categories d’anotacions - és a dir, Marcadors, anotació de valor únic, anotacions completes.
P # 18) Descriviu l'agrupació de recursos.
Resposta: Sempre és convenient emmagatzemar etiquetes de la interfície d’usuari, format de data, missatges d’estat i elements textuals de la interfície d’usuari, com ara emmagatzemar paràmetres per a configuracions regionals per a la internacionalització, etc. al fitxer de propietats en lloc de codificar-les de manera dura a cada pàgina XHTML. Emmagatzemar aquests valors constants en un fitxer i mostrar-los en diverses pàgines es coneix com agrupació de recursos.
El descriptor de desplegament faces-config.xml conté paràmetres de configuració per a l’aplicació JSF, on podem configurar el paquet de recursos i desar-hi aquests valors.
P # 19) Enumereu els avantatges d'utilitzar el marc JSF.
Resposta: A continuació es detallen alguns dels avantatges importants:
- El framework JSF crea ràpidament interfícies d’usuari amb la seva biblioteca de components d’interfície d’usuari integrada amb una separació entre presentació i comportament.
- Té una rica arquitectura per gestionar, processar i validar les entrades dels usuaris.
- Els seus esdeveniments s’integren amb el codi del servidor.
- Ofereix control de nivell de component endollable.
- Admet funcions d'accessibilitat i internacionalització.
P # 20) Enumereu els avantatges del llenguatge d'expressió.
Resposta: El llenguatge d’expressió ofereix els avantatges següents:
- Els autors de la pàgina poden minimitzar l’ús de seqüències d’ordres a la pàgina web
- Oferir una major productivitat
- Fàcil de mantenir
- Corba d'aprenentatge plana
- Inclòs a JSP 2.0, JSF
- Ús de l’expressió en diferents etapes del cicle de vida de la pàgina
- Establiu dades d'objectes externs i obteniu-les mitjançant expressions
- Les expressions de mètode ofereixen un tractament d'esdeveniments, validació i altres funcionalitats per als components de la interfície d'usuari JSF
P # 21) Expliqueu què pot contenir el directori de fitxers de guerra de l'aplicació Java Server Faces?
Resposta: El fitxer d’arxiu d’aplicacions web (guerra) de l’aplicació JSF conté el següent:
- web.xml - un recurs de configuració del descriptor d'aplicacions web per a aplicacions web.
- Classes essencials en un conjunt de fitxers JAR (Java Archive).
- Classes d'aplicacions, pàgines Java Server Faces, altres recursos necessaris, com ara fitxers d'imatge.
- Fitxers de recursos per a la configuració de l'aplicació.
P # 22) Quins tipus d’etiquetes Facelet s’utilitzen a JSF 2.0?
Resposta: Diversos tipus d'etiquetes Facelet a JSF 2.0 són:
- Plantilles ofereixen un estil i un disseny d’interfície comuns a les aplicacions web, ui: insert, ui: define, ui: include i ui: composition.
- Etiquetes Param són per passar paràmetres al fitxer de plantilla.
- Etiquetes personalitzades per representar contingut personalitzat.
- Elimina l'etiqueta utilitzat per deixar de representar el codi JSF comentat al costat del client.
P # 23) Descriviu les biblioteques d'etiquetes estàndard JSF
Resposta: La biblioteca d’etiquetes estàndard JSF consta de diversos tipus d’entrada HTML. Alguns d’ells es detallen a continuació:
- h: inputText: Crea un quadre de text HTML de tipus de text
- h: inputSecret: Quadre de text HTML de tipus de contrasenya
- h: inputTextarea: Camp d’entrada d’àrea de text HTML
- h: inputHidden: Entrada HTML del tipus oculta
- h: selectBooleanCheckbox: Per a la casella de selecció HTML únic
- h: selectManyCheckbox: Per al grup de caselles de selecció HTML
- h: selectOneRadio: Per a un botó d'opció HTML únic
- h: selectOneListBox: Per al quadre de llista únic HTML
P # 24) Comenteu la importància de l’anotació @ManagedProperty a JSF 2.0.
Resposta: Mitjançant l’anotació @ManagedProperty, el bean es pot injectar en una altra propietat del bean mitjançant el mètode setter del bean. Necessitem un atribut de valor que contingui el nom del bean que cal injectar.
P # 25) Què indica l’anotació @ApplicationScoped?
Resposta: L'anotació @ApplicationScoped s'utilitza per definir l'abast dins del qual s'emmagatzemarà el bean i es mantindrà en la interacció de l'usuari a les aplicacions web. Les mongetes gestionades solen quedar-se per instanciar.
Per tal d’instanciar els grans amb àmbit d’aplicació amb l’inici de l’aplicació. L'atribut Eager es compleix amb el bean gestionat.
@ManagedBean (ansiós = cert)
@ApplicationScoped
P # 26) Enumereu els components de la taula lligada a dades de JSF 2.0.
Resposta: L'etiqueta s'utilitza per crear una taula de dades i components de taula de dades vinculats a JSF que consta d'elements com l'ordenació de columnes (ascendent / descendent), caselles de verificació i paginació.
P # 27) Enumereu diferents implementacions de JSF.
Resposta: A continuació es detallen les implementacions:
Apache MyFaces | Oracle Mojarra | OmniFaces |
---|---|---|
JSF no admet serveis de middleware com JAAS, JNDI, JMS i Java Mail | Admet serveis de middleware com JAAS, JNDI, JMS i Java Mail | |
PrimeFaces | RichFaces | Cares ICE |
Q # 28) Expliqueu els atributs immediats i representats a JSF.
Resposta: Quan el valor booleà d'un fitxer atribut immediat s'estableix com a cert, forçarà les conversions, els esdeveniments i el processament de validació durant la fase de sol·licitud del cicle de vida de JSF.
Atribut renderitzat decidiria que el component s'hauria de representar o no a la pàgina de visualització, utilitza literals aritmètics i operadors amb expressió rvalue i no amb expressió lvalue.
P # 29) Enumereu els avantatges de les etiquetes de la taula de dades JSF.
Resposta: Les etiquetes de taula de dades JSF s’utilitzen per mostrar dades relacionals en format tabular a les pàgines de visualització JSF.
Els avantatges que ofereixen les etiquetes de la taula de dades són:
- Per tal de mostrar dades, la taula de dades pot iterar sobre matrius o col·lecció de valors.
- Les etiquetes de taula de dades ofereixen atributs per modificar les seves dades que es mostren a la pàgina de visualització JSF.
Q # 30) Diferencieu JSF 1.0 i JSF 2.0.
Resposta: A continuació es detallen les diferències entre els dos:
JSF1.2 | JSF 2.0 |
---|---|
Els grans gestionats es registren a faces-config.xml amb JSF 1.2 | Les anotacions s’utilitzen per registrar els grans gestionats a JSF 2.0 |
A JSF 1.0 Faces Servlet es configura a web.xml amb patró d'URL com / faces / * | A JSF 2.0 Faces Servlet es configura a web.xml amb patró d'URL com a * .xhtml |
El JSF 1.2 es va llançar amb EL i va millorar la manipulació de visions unificades per eliminar l’acoblament estret amb JSP. | JSF 2.0 ofereix suport per a sol·licituds GET, nou abast de visualització, ús d’anotacions, genèrics, inclou facetes com a visualització per defecte en lloc de JSP i gestió de recursos |
JSF 1.0 utilitza l'API per a components personalitzats | JSP està obsolet a JSF2.0 i se substitueix per Facelets (xhtml) |
P # 31) Expliqueu les pràctiques recomanades aplicades per construir una aplicació JSF.
Resposta: Les pràctiques recomanades o les regles que s'han de seguir durant el desenvolupament web mitjançant JSF relacionades amb diversos beans de suport de l'àmbit són les següents:
- Comenceu amb @RequestScoped Bean fins que es perdin les dades i l'estat de l'empresa i, a continuació, trieu el següent abast de nivell superior.
- Per deixar de compartir dades o estat entre tots els usuaris, eviteu l'abast @ApplicationScoped.
- Per deixar de compartir dades o estat entre totes les pestanyes del navegador, eviteu @SessionScope.
- Per evitar la pèrdua de dades i estat sobre les sol·licituds HTTP, eviteu @RequestScope.
- Els grans amb àmbit de visualització, flux, sessió i conversa no afecten els usuaris.
- Eviteu trucar a la lògica empresarial en mètodes getter que responguin a mongetes JSF.
- Utilitzeu el conjunt de resultats en una propietat de valor.
- El mètode anotat @PostConstruct s'utilitza per calcular el conjunt de resultats.
P # 32) Descriviu l'arquitectura de JavaServer Faces
Resposta: JavaServer Faces implementa un patró de disseny MVC, els components es defineixen per separat, amb una lògica diferent.
- Visualitza el component per a la lògica de presentació i
- S'implementa un component model per a la lògica empresarial.
- El component del controlador controla la navegació d'una vista a una altra i executa diversos mètodes de model.
La part del controlador consta de
- Servlet del controlador, és a dir, FacesServlet
- Fitxer de configuració centralitzat, és a dir, faces-config.xml
- Conjunt de gestors d'esdeveniments per a aplicacions web.
Q # 33) Quines diferències hi ha entre JSF i el framework Spring?
Resposta: A continuació es detallen les diferències entre els dos:
Cares de servidor Java | Primavera |
---|---|
JSF s’utilitzen per crear interfícies d’usuari basades en components per a aplicacions web. | Spring utilitza el patró de disseny DispatcherServlet i model-view-controller per a aplicacions web. |
Compta amb un marc d’interfície d’usuari madur que inclou components del servidor de cicles de vida complets i complets | Spring ofereix un marc d'aplicacions per a aplicacions independents, web i distribuïdes. |
JSF permet la integració amb HTML, JSP en el desenvolupament de components de visualització del controlador de vista de model. | Velocitat, marcador lliure, etc. s’utilitzen per al component de visualització amb estructura Spring |
No té suport predefinit per integrar JDBC, EJB, Hibernate i RMI | Ofereix suport predefinit per a JDBC, EJB, Hibernate, RMI, etc. |
JSF és un marc de gran pes | La primavera és un marc de pes lleuger |
Té més dependència de l'API i no té suport per a les implementacions de POJO | Té implementacions POJO i menys dependència de l'API. |
Conclusió
JavaServer Faces és un marc basat en web de Java que dissenya components d’interfície d’usuari mitjançant mongetes gestionades, mongetes secundàries, facetes i altres biblioteques personalitzades com ara cares principals o cares de gel.
Els arquitectes d’aplicacions, els desenvolupadors, els components i els autors de pàgines haurien de conèixer bé diversos marcs com ara Java Server Faces, a més d’altres marcs com Spring, Hibernate i Struts.
Aquest tutorial de preguntes sobre l'entrevista JSF us ajuda a preparar-vos per a la majoria d'entrevistes JSF.
Lectura recomanada
- Els 20 millors programes d'entrevistes de Java per a programació i codificació d'entrevistes
- Preguntes i respostes de l’entrevista JSP (Actualitzat 2021)
- 30+ Preguntes i respostes de l'entrevista TOP Servlet (LLISTA 2021)
- Top 50+ Preguntes i respostes bàsiques de l'entrevista de Java
- Més de 30 preguntes sobre entrevistes amb col·leccions de Java amb respostes (LLISTA 2021)
- 25 millors marcs i eines de prova de Java per a proves d'automatització (part 3)
- Top 20+ Preguntes i respostes de l'entrevista .NET
- Preguntes i respostes de l’entrevista