top 30 jsf interview questions
Denne vejledning giver ofte stillede Java Server Faces eller JSF interview spørgsmål og svar med forklaringer, der hjælper dig med at forberede dig til interviewet:
Det er vigtigt for Java Developer at have arbejdskendskab i en eller flere populære Java-rammer som Spring, Hibernate, Struts og Java Server Faces (JSF).
JSF er en af Java-rammerne, der hurtigt hjælper med at designe komponenter til webbrugergrænseflader.
JSP var en Java-teknologi, der brugte Java API, implicitte objekter og brugerdefinerede tags for at udvikle dynamisk webindhold, hvorimod brugte Java Server Faces (JSF), en Java-baseret webapplikationsramme til at udvikle webbaserede brugergrænseflade-komponenter.
JSF har styret bønner, ansigtslader, annoteringer og hjælpebiblioteker såsom primære ansigter og Omni-ansigter eller isflader til at udvikle skabelonbaserede komponenter på serversiden.
Hvad du vil lære:
Java Server ansigter
Java Server Faces-teknologi tilbyder API til at oprette genanvendelige komponenter til brugergrænsefladen på websiderne. Det forbinder komponenter med applikationsdatakilden og klientgenererede begivenheder til serverhændelseshåndterere, opretholder UI-tilstand på tværs af flere serveranmodninger samt implementerer brugerdefinerede komponenter.
JSF leverer kernebibliotek, standard HTML-inputelementer som basale UI-komponenter, baseret på forskellige enheder og klienttype, siger HTML-browser, WAP eller trådløse enheder, giver gengivelsesmuligheder til UI-komponenter.
Ofte stillede spørgsmål om JSF-interview
Q # 1) Hvad er Java Server Faces (JSF)?
Svar: Det er en Java-ramme baseret på MVC-design, der har rige API- og tagbiblioteker, der tilbyder oprettelse af server-interface-interface til komponenter til webudvikling.
JSF har et tagbibliotek, API, facelets og UI-komponenter og administrerede bønner til at oprette webapplikationer.
Q # 2) Hvilke funktioner tilbyder Java Server Faces i webudvikling?
Svar: Funktionerne er anført nedenfor:
- Java framework bygget over Servlet API
- UI-komponenter er gemt på serveren
- Begivenhedsdrevet programmeringsmodel, der håndteres på serveren
- Understøtter flere klientenheder
- Let at implementere tredjepartskomponenter
- Udvidelig arkitektur
- Omfattende værktøjssupport fra Borland, Exadel, Sun, Oracle, IBM, BEA osv.
- Hurtig applikationsudvikling (RAD) tilgang
- Understøtter internationalisering af UI-etiketter og tekst
Java Server Faces-funktioner:
Q # 3) Forklar JSF's livscyklus.
Svar: Livscyklussen indeholder 6 faser, som forklaret nedenfor:
# 1) Gendan visning: Livscyklussen begynder med gendannelsesfasen. Når der klikkes på et link eller en knap på websiden, sendes en anmodning til JSF med operationer som angivet nedenfor:
hvor er netværkssikkerhedsnøglen placeret på min router
- Visning er bygget af JSF
- Forbinder hændelseshåndterere og validatorer til komponenter i brugergrænsefladen
- Gemmer denne visning i FacesContext-forekomst
- Giver alle oplysninger til FacesContext til behandling af anmodning
# 2) Anvend anmodning: Her oprettes hver komponent fra komponenttræet. Brug afkodningsmetoden, der fanger og gemmer nye værdier fra anmodningsparametre. I tilfælde af fejl under konvertering genererer den en fejlmeddelelse og viser den på FacesContext. Det viser valideringsmeddelelser eller fejl under gengivelsesfasen. JSF flytter til gengivelsesfase, når afkodningsmetode begivenhedslyttere kalder renderResponse-metoden.
# 3) Validering af processen: I denne fase behandler JSF komponenttrævalidatorer, undersøger attributregler for validering og sammenligner dem med komponentens gemte lokale værdi. I tilfælde af ugyldig lokal værdi tilføjer JSF en fejlmeddelelse til FacesContext-instans, der viser den samme side med en fejlmeddelelse og med JSF-livscyklus, der bevæger sig længere mod gengivelsesfasen.
# 4) Opdatering af modelværdi: Efter at JSF har verificeret gyldige data, indstiller den de tilsvarende objektegenskaber på serversiden til komponentens lokale værdier og opdaterer bønneegenskaberne, svarende til inputværdiens attribut for værdi. Når renderResponse fra den aktuelle forekomst af FacesContext kaldes ved hjælp af updateModels-metoder, flytter JSF til gengivelsesfasen.
# 5) Påkald ansøgning: Begivenheder på applikationsniveau som at indsende formular eller videresende til en anden side håndteres af Java Server Faces i denne fase.
# 6) Render svar: Hvis applikationen har JSP-sider, anmoder JSF applikationsserveren om at gengive siden og tilføjer derved komponenter på siden til komponenttræet. Ellers behøver et allerede bygget komponenttræ ikke tilføje nogen komponenter; JSP container flytter tags og gengiver komponenter. Svartilstanden gemmes, når visningsindholdet er gengivet, hvilket gør efterfølgende anmodninger om at få adgang til staten og dens tilgængelighed for at gendanne visningsfasen.
Spørgsmål nr. 4) Hvad er betydningen af administrerede bønner i Java Server Faces?
Svar: Managed Beans er Java-bønner, der omfatter getter- og settermetoder og har en forretningslogik designet i den. Det kan eventuelt have en bagbønne. De fungerer som en model for UI-komponenter i MVC-rammen.
For JSF 1.2 er det nødvendigt at registrere dem i JSF-konfigurationsfilen ansigter-config.xml, mens kommentarer fra JSF 2.0 og fremefter bruges til at registrere administrerede bønner.
Q # 5) Hvad er omfanget af administrerede bønner?
Svar: Managed Beans er en Java-klasse, der består af et sæt getter / setter-metoder og egenskaber. Det fungerer som en model for JSF-rammen og tilbyder funktioner som,
- Validering af komponentdata
- Administrer udførelsen af en komponentbegivenhed
- Behandler for at bestemme, hvilken sideapplikation der navigeres næste gang
- JSF bruger administrerede bønner enten ved at konfigurere dem til en XML-fil eller gennem annoteringer.
Følgende anvendelsesomfang anvendes til styret bønneklasse:
- Ansøgning
- Session
- Udsigt
- Anmodning
- Ingen
- Brugerdefinerede
Q # 6) Hvad er et facelet?
Svar: Facelets er et letvægts sidedeklarationssprog, der bruger HTML-typeskabeloner til at opbygge komponenttræ til at oprette Java-serveransigter.
Nogle af facelets-funktionerne er angivet som nedenfor:
- Det bruger XHTML til at oprette websider.
- Udover JSF- og JSTL-tagbiblioteker tilbyder det Facelets-tagbiblioteker.
- Understøttelse af udtrykssprog, komponent og sider.
Q # 7) Forklar fordelene ved at bruge Facelet.
Svar: Fordelene er som følger:
- Hurtig kompileringstid
- Højtydende gengivelse
- Udvider dens funktionalitet til komponenter og andre objekter på serversiden via tilpasning
- Understøttelse af genbrug af kode gennem sammensatte komponenter og skabeloner
- EL-validering af kompileringstid
Q # 8) Liste over facelet-tags, der bruges i Java Server Face.
Svar: Nogle af de facelet-tags, der bruges i JSF, er angivet nedenfor:
- ui: komponent definerer den oprettede komponent og føjes til komponenttræet.
- ui: sammensætning definerer sidesammensætning, bruger skabeloner valgfrit og ignorerer indhold uden for.
- ui: debug definerer debug-komponent oprettet og føjer til komponenttræet.
- ui: dekorere svarer til komponenttag, overvej indhold uden for dette tag.
- ui: definer bruges til at definere indhold indsat på siden med en skabelon.
- ui: fragment ligner komponent og dekorerer tag. Den betragter indhold uden for dette tag.
- ui: inkluderer genbruger og indkapsler indhold på flere sider.
- ui: indsæt som navn indsætter indhold i en skabelon.
- ui: stop videregive parametre til den inkluderede fil.
- ui: gentag et alternativ til loop-tags, som c: forEach eller c: dataTable.
- ui: fjern bruges til at fjerne indhold fra en side.
Q # 9) Liste typer sidenavigation JSF understøtter.
Svar: JSF understøtter følgende sidenavigationstyper:
- Betinget navigation
- Fremad versus omdirigeringsnavigation
- Implicit navigation
- Navigation via administreret bønne
- Navigation via omdirigeringsnavigation
Q # 10) Beskriv forskellige tekstfeltkoder, der tilbydes af JSF.
Svar: Forskellige tekstfeltmærker er som beskrevet nedenfor:
- indsætter tekstfelt ved siden af etiketfeltet.
- bruges som en container til indtastning af talrige tegn.
- er en type tekstfelt, der bruges til adgangskodefelt, så de indtastede data ikke afsløres.
Q # 11) Beskriv værdiudtryk og metodeudtryk.
Svar: Værdiekspression henter en værdi og indstiller en værdi. De er yderligere opdelt i rvalueekspression og lvalueekspression. rværdi kan kun læse data, mens værdi kan læse og skrive data.
Offentlig metode til bønner påkaldes af Method-udtryk, der returnerer det nødvendige resultat til validering af datakomponenten og hændelseshåndtering.
Spørgsmål nr. 12) Hvilke typer valideringer er tilgængelige i JSF?
web-applikationstest interview spørgsmål og svar
Svar: Der er to typer valideringer i JSF, nemlig deklarativ og imperativ.
- Erklærende valideringer påberåbes ved hjælp af JSF-standardvalidatorer eller Bean-validatorer.
- Imperativt valideringer er komplekse brugerdeklarerede validatorer, der tilsidesætter standardvalideringen, da standardvalideringsmeddelelser ikke er tilstrækkelige i alle tilfælde.
Q # 13) Listeudtryk, som JSF Expression Language understøtter.
Svar: Understøttede udtryk er angivet nedenfor:
- Umiddelbart værdiudtryk
- Udskudt værdiudtryk
- Værdi udtryk
- Metodeudtryk
Q # 14) Beskriv forskellige typer JSF-begivenheder.
Svar: Der er hovedsageligt tre typer JSF-begivenheder, nemlig Action-begivenheder, Value Change-begivenheder og Fase-begivenheder.
- Handlingsbegivenheder genereres til brugergrænsefladekomponenter som kommandoknappen eller kommandohyperlink.
- Værdiændringsbegivenheder referencetekstfelt, alternativknappens listefelt. Enhver værdiændring i disse UI-komponenter påkalder en værdiændringshændelse.
- Fase begivenheder fyres enten under starten eller mod slutningen af en af de seks faser i JSF's livscyklus.
Q # 15) Forklar detaljeret de databundne tabelkomponenter.
Svar: Komponenter, der er ansvarlige for at vise relationsdata i tabelformat, er kendt som databundne tabelkomponenter. tag itererer på tværs af hver af de poster, der vises i rækker, hvorimod tag vise datakomponenter.
Nogle af egenskaberne ved h: datatabel er celleudfyldning, celleafstand, bgfarve og kant.
Q # 16) Liste over validator-tags tilgængelige i JSF.
Svar: Validator-tags er angivet nedenfor:
- f: validateLength bruges til at validere strenglængde.
- f: validateLongRange bruges under validering af det numeriske værdiområde.
- f: validateDoubleRange bruges under validering af float-værdiområdet.
- f: validateRegex: validering sammenligner givet regulært udtryk med JSF-komponenter.
Spørgsmål nr. 17) Hvad er JSF-kommentarer?
Svar: Annotation i JSF hjælper med udviklingen af klar og ren kode. Det kan bruges i pakker, klasser, konstruktører, grænseflader, felter, metoder, parametre, variabler eller annoteringer selv.
Der er hovedsagelig tre kategorier af kommentarer - nemlig Markører, enkeltværdianmærkning, fulde annoteringer.
Q # 18) Beskriv ressourcebundning.
Svar: Det er altid praktisk at gemme UI-etiketter, datoformat, statusmeddelelser og UI-tekstelementer, såsom lagring af parametre til lokaliteter til internationalisering osv. I egenskabsfilen i stedet for hårdkodning af disse på hver XHTML-side. Lagring af disse konstante værdier i en fil og visning af disse værdier på forskellige sider er kendt som ressourcebundning.
Implementeringsbeskrivelse ansigter-config.xml indeholder konfigurationsindstillinger for JSF-applikationen, hvor vi kan konfigurere ressourcepakke og gemme disse værdier i den.
Q # 19) Angiv fordelene ved at bruge JSF-rammen.
Svar: Følgende er nogle af de vigtige fordele:
- JSF framework opretter hurtigt brugergrænseflader med sit indbyggede UI-komponentbibliotek med en adskillelse mellem præsentation og adfærd.
- Det har en rig arkitektur til styring, behandling, validering af brugerindgange.
- Dens begivenheder er integreret med serversides kode.
- Tilbyder kontrol, der kan tilsluttes på komponentniveau.
- Understøtter tilgængelighed og internationaliseringsfunktioner.
Q # 20) Angiv fordelene ved ekspressionssprog.
Svar: Ekspressionssprog giver følgende fordele:
- Sideforfattere kan minimere brugen af scripting på websiden
- Tilbyde større produktivitet
- Let at vedligeholde
- Flad læringskurve
- Inkluderet i JSP 2.0, JSF
- Brug af udtryk på forskellige stadier af sidens livscyklus
- Indstil eksterne objektdata, og få disse data ved hjælp af udtryk
- Metodeudtryk tilbyder hændelseshåndtering, validering og andre funktioner for JSF UI-komponenter
Spørgsmål nr. 21) Forklar, hvad Java Server Faces-programkrigsmappen indeholder?
Svar: Webapplikationsarkiv (krigs) fil af JSF-applikationen indeholder følgende:
- web.xml - en konfigurationsressource til webapplikationsbeskrivelse til webapplikationer.
- Væsentlige klasser i et sæt JAR-filer (Java Archive).
- Applikationsklasser, Java Server Faces-sider, andre krævede ressourcer som billedfiler.
- Ressourcefiler til applikationskonfiguration.
Spørgsmål nr. 22) Hvilke typer Facelet-tags bruges i JSF 2.0?
Svar: Forskellige facelet-tag-typer i JSF 2.0 er:
- Skabeloner tilbyde almindelig interface-stil og layout i webapplikationerne, ui: insert, ui: define, ui: include og ui: sammensætning.
- Param tags er til at overføre parametre til skabelonfilen.
- Brugerdefinerede tags at gengive brugerdefineret indhold.
- Fjern tag brugt til at stoppe gengivelse af kommenterede JSF-kode på klientsiden.
Q # 23) Beskriv JSF Standard-tagbiblioteker
Svar: JSF standard tagbibliotek består af forskellige HTML-inputtyper. Nogle af dem er som anført nedenfor:
- h: inputText: Opretter HTML-tekstfelt af teksttype
- h: inputSecret: HTML-tekstfelt med adgangskodetype
- h: inputTextarea: HTML-tekstfelt
- h: input Skjult: HTML-input af typen skjult
- h: selectBooleanCheckbox: For enkelt HTML afkrydsningsfelt
- h: selectManyCheckbox: For gruppe af HTML-afkrydsningsfelter
- h: vælg OneRadio: Til en enkelt HTML-radioknap
- h: selectOneListBox: Til HTML-enkeltlistefelt
Q # 24) Diskuter vigtigheden af @ManagedProperty-kommentar i JSF 2.0.
Svar: Ved hjælp af @ManagedProperty-kommentar kan bønnen injiceres i en anden bønneegenskab ved hjælp af bønnens setter-metode. Vi har brug for en værdiattribut, der indeholder det bønnenavn, der skal injiceres.
Q # 25) Hvad angiver @ApplicationScoped-kommentar?
Svar: @ApplicationScoped-kommentar bruges til at definere det omfang, inden for hvilket bønne skal gemmes, og forbliver på tværs af brugerinteraktion inden for webapplikationer. Administrerede bønner halter normalt for at instantiere.
For at instantiere applikationen scoped bønner med starten af applikationen. Ivrig attribut er sandt i managed bean.
@ManagedBean (ivrig = sand)
@ApplicationScoped
Q # 26) Liste over databundne tabelkomponenter fra JSF 2.0.
Svar: tag bruges til at oprette datatabel og databundne tabelkomponenter i JSF består af elementer som søjlesortering (stigende / faldende), afkrydsningsfelter, paginering.
Q # 27) Liste over forskellige implementeringer af JSF.
Svar: Implementeringerne er anført nedenfor:
Apache MyFaces | Oracle Mojarra | OmniFaces |
---|---|---|
JSF understøtter ikke middlewaretjenester som JAAS, JNDI, JMS og Java Mail | Understøtter middlewareservices som JAAS, JNDI, JMS og Java Mail | |
PrimeFaces | RichFaces | ICE-ansigter |
Q # 28) Forklar øjeblikkelige og gengivne attributter i JSF.
Svar: Når den boolske værdi af en øjeblikkelig attribut er sat som sand, vil det tvinge konverteringer, begivenheder og valideringsbehandling under anmodningsfasen i JSF-livscyklussen.
Gengivet attribut ville beslutte, at komponenten skal gengives eller ikke vises på siden, den bruger aritmetiske bogstaver og operatorer med rvalue-udtryk og ikke med lvalue-udtryk.
Q # 29) Liste over fordele ved JSF-datatabel-tags.
Svar: JSF-datatabelskoder bruges til at vise relationsdata i tabelformat på JSF-visningssider.
Fordele ved datatabel-tags er:
- For at få vist data kan datatabellen gentage sig over arrays eller indsamling af værdier.
- Datatabel-tags tilbyder attributter til at ændre dets data, der vises på JSF-visningssiden.
Q # 30) Skel mellem JSF 1.0 og JSF 2.0.
Svar: Forskelle mellem de to er anført nedenfor:
JSF1.2 | JSF 2.0 |
---|---|
Administrerede bønner er registreret i ansigter-config.xml med JSF 1.2 | Kommentarer bruges til at registrere administrerede bønner i JSF 2.0 |
I JSF 1.0 Ansigter er Servlet konfigureret i web.xml med url-mønster som / ansigter / * | I JSF 2.0 Ansigter er Servlet konfigureret i web.xml med url-mønster som * .xhtml |
JSF 1.2 blev frigivet med EL og forbedret og samlet visningshåndtering for at fjerne tæt kobling med JSP. | JSF 2.0 tilbyder understøttelse af GET-anmodninger, nyt visningsomfang, brug af annotatios, generiske oplysninger, inkluderer facelets som standardvisning i stedet for JSP og ressourcehåndtering |
JSF 1.0 bruger API til brugerdefinerede komponenter | JSP er udfaset i JSF2.0 og erstattet af Facelets (xhtml) |
Q # 31) Forklar de bedste fremgangsmåder, der anvendes til at opbygge JSF-applikationer.
Svar: De bedste fremgangsmåder eller regler, der skal følges under webudvikling ved hjælp af JSF relateret til forskellige omfangsbønner er:
- Begynd med @RequestScoped Bean, indtil forretningsdata og tilstand går tabt, og vælg derefter det næste højere niveau.
- Undgå @ApplicationScoped-omfang for at stoppe deling af data eller tilstand mellem alle brugere.
- Undgå @SessionScope for at stoppe deling af data eller tilstand blandt alle browserfaner.
- Undgå @RequestScope for at forhindre tab af data og tilstand over HTTP-anmodninger.
- Visning, flow, session og samtale scoped bønner har ingen effekt på brugerne.
- Undgå at kalde forretningslogik i getter-metoder JSF-bønner.
- Brug resultatsæt i en værdiegenskab.
- @PostConstruct-kommenteret metode bruges til at beregne resultatsæt.
Q # 32) Beskriv arkitekturen for JavaServer Faces
Svar: JavaServer Faces implementerer MVC-designmønster, komponenter defineres separat med forskellige logik.
c ++ standardbibliotek download
- Vis komponent til præsentationslogik og
- Modelkomponent til forretningslogik implementeres.
- Controller-komponent styrer navigationen fra en visning til en anden og udfører forskellige modelmetoder.
Controller del består af
- Controller servlet dvs. AnsigterServlet
- Centraliseret konfigurationsfil, dvs. ansigter-config.xml
- Sæt med begivenhedshåndterere til webapplikationer.
Spørgsmål nr. 33) Hvad er forskellene mellem JSF og Spring Framework?
Svar: Forskelle mellem de to er anført nedenfor:
Java Server ansigter | Forår |
---|---|
JSF bruges til at oprette komponentbaserede brugergrænseflader til webapplikationer. | Spring bruger DispatcherServlet og model-view-controller design mønster til webapplikation. |
Det har modne rammer for brugergrænsefladen omfattende og rig anmodning om komponenter til livscyklus på serversiden | Spring tilbyder applikationsramme til enkeltstående, web- og distribuerede applikationer. |
JSF tillader integration med HTML, JSP i udvikling af visningskomponent i modelvisningscontroller. | Hastighed, fri markør osv. Bruges til visningskomponent med fjederramme |
Det har ikke foruddefineret support til at integrere JDBC, EJB'er, Hibernate og RMI | Det tilbyder foruddefineret support til JDBC, EJB, Hibernate, RMI osv. |
JSF er en tung vægtramme | Foråret er en letvægtsramme |
Det har mere API-afhængighed og har ingen understøttelse af POJO-implementeringer | Det har POJO-implementeringer og mindre API-afhængighed. |
Konklusion
JavaServer Faces er en Java-webbaseret ramme, der designer komponenter til brugergrænsefladen ved hjælp af managed beans, backing beans, Facelets og andre brugerdefinerede biblioteker såsom primære ansigter eller isflader.
Applikationsarkitekter, udviklere, komponent- og sideforfattere skal være fortrolige med forskellige rammer, såsom Java Server Faces, udover andre rammer som Spring, Hibernate og Struts.
Denne tutorial til JSF-spørgsmålsspørgsmål hjælper dig med at forberede dig på de fleste JSF-interviews.
Anbefalet læsning
- Top 20 Java Interview-programmer til programmering og kodning af interviews
- JSP Interview Spørgsmål og svar [Opdateret 2021]
- 30+ TOPP Servlet Interview Spørgsmål og svar [2021 LIST]
- Top 50+ Core Java Interview-spørgsmål og svar
- 30+ Top Java-samling Interviewspørgsmål med svar [2021 LIST]
- 25 bedste Java-testrammer og værktøjer til automatiseringstest (del 3)
- Top 20+ .NET Interview Spørgsmål og svar
- Interviewspørgsmål og svar