top 30 jsf interview questions
Tento výukový program poskytuje často kladené otázky a odpovědi na rozhovory s Java Server Faces nebo JSF s vysvětlením, které vám pomohou připravit se na rozhovor:
Pro vývojáře Java je zásadní mít pracovní znalosti v jednom nebo více populárně používaných rámcích Java, jako jsou Spring, Hibernate, Struts a Java Server Faces (JSF).
JSF je jedním z rámců Java, které rychle pomáhají navrhovat komponenty webového uživatelského rozhraní.
JSP byla technologie Java, která pro vývoj dynamického webového obsahu využívala rozhraní Java API, implicitní objekty a vlastní značky, zatímco k vývoji komponent webového uživatelského rozhraní používala prostředí Java Server Faces (JSF), prostředí webových aplikací založené na prostředí Java.
Společnost JSF vyvinula komponenty založené na šabloně na serveru, které spravovaly fazole, tváře, anotace a knihovny obslužných programů, jako jsou hlavní tváře a Omni tváře nebo ledové tváře.
Co se naučíte:
Tváře serveru Java
Technologie Java Server Faces nabízí API pro vytváření opakovaně použitelných komponent uživatelského rozhraní na webových stránkách. Připojuje komponenty se zdrojem dat aplikace a událostmi generovanými klientem k obslužným programům událostí na straně serveru, udržuje stav uživatelského rozhraní napříč několika požadavky serveru a implementuje vlastní komponenty.
JSF poskytuje základní knihovnu, standardní vstupní prvky HTML jako základní komponenty uživatelského rozhraní, založené na různých zařízeních a typu klienta, například prohlížeč HTML, WAP nebo bezdrátová zařízení, poskytuje vykreslování komponentům uživatelského rozhraní.
Často kladené otázky ohledně rozhovorů JSF
Otázka č. 1) Co je Java Server Faces (JSF)?
Odpovědět: Jedná se o rámec Java založený na designu MVC, který má bohaté knihovny API a značek, které nabízejí vytváření komponent uživatelského rozhraní na straně serveru pro vývoj webových aplikací.
JSF má knihovnu značek, API, Facelety a komponenty uživatelského rozhraní a spravované fazole pro vytváření webových aplikací.
Otázka č. 2) Jaké funkce nabízí Java Server Faces při vývoji webu?
Odpovědět: Funkce jsou uvedeny níže:
- Rámec Java postavený na Servlet API
- Komponenty uživatelského rozhraní jsou uloženy na serveru
- Událostní programovací model, který je zpracováván na serveru
- Podporuje více klientských zařízení
- Snadná implementace komponent třetích stran
- Rozšiřitelná architektura
- Rozsáhlá podpora nástrojů od společností Borland, Exadel, Sun, Oracle, IBM, BEA atd.
- Přístup rychlého vývoje aplikací (RAD)
- Podporuje internacionalizaci štítků a textu uživatelského rozhraní
Funkce serveru Java Server Faces:
java rozhovor otázky a odpovědi pro osvěžovač technické
Otázka č. 3) Vysvětlete životní cyklus JSF.
Odpovědět: Životní cyklus obsahuje 6 fází, jak je vysvětleno níže:
# 1) Obnovit zobrazení: Životní cyklus začíná fází zobrazení obnovení. Když na webové stránce kliknete na odkaz nebo tlačítko, odešle se požadavek JSF s níže uvedenými operacemi:
- Pohled je postaven JSF
- Připojuje obslužné rutiny událostí a validátory ke komponentám uživatelského rozhraní
- Uloží toto zobrazení v instanci FacesContext
- Poskytuje všechny informace FacesContext ke zpracování požadavku
# 2) Podat žádost: Zde je vytvořena každá komponenta ze stromu komponent. Použijte metodu dekódování, která zachycuje a ukládá nové hodnoty z parametrů požadavku. V případě jakéhokoli selhání během převodu vygeneruje chybovou zprávu a vypíše ji na FacesContext. Během fáze odezvy vykreslení bude zobrazovat ověřovací zprávy nebo chyby. JSF se přesune do fáze odezvy vykreslení, když posluchači události dekódovací metody volají metodu renderResponse.
# 3) Proces validace: Během této fáze JSF zpracovává validátory stromů komponent, zkoumá pravidla atributů pro ověření a porovnává je s uloženou místní hodnotou komponenty. V případě neplatné místní hodnoty přidá JSF do instance FacesContext chybovou zprávu, zobrazí stejnou stránku s chybovou zprávou a životní cyklus JSF se posune dále k fázi odezvy vykreslení.
# 4) Aktualizace hodnoty modelu: Poté, co JSF ověří platná data, nastaví odpovídající vlastnosti objektu na straně serveru na místní hodnoty komponenty a aktualizuje vlastnosti fazole, odpovídající atributu hodnoty vstupní komponenty. Když je renderResponse z aktuální instance FacesContext volána metodami updateModels, JSF se přesune do fáze odezvy vykreslení.
# 5) Vyvolání aplikace: Události na úrovni aplikace, jako je odeslání formuláře nebo přeposlání na jinou stránku, jsou během této fáze zpracovávány pomocí Java Server Faces.
# 6) Odpověď na vykreslení: V případě, že aplikace obsahuje stránky JSP, JSF požaduje, aby aplikační server stránku vykreslil, čímž přidá komponenty na stránce do stromu komponent. Jinak nemusí již vytvořený strom komponent přidávat žádné komponenty; Kontejner JSP přesouvá značky a vykresluje komponenty. Stav odpovědi se uloží po vykreslení obsahu zobrazení, takže po sobě jdoucí požadavky budou mít přístup ke stavu a jeho dostupnosti pro obnovení fáze zobrazení.
Otázka č. 4) Jaký je význam spravovaných fazolí v Java Server Faces?
Odpovědět: Managed Beans jsou Java fazole, které obsahují metody getter a setter a mají v sobě navrženou obchodní logiku. Může mít volitelně podpůrnou fazoli. Fungují jako model pro komponenty uživatelského rozhraní v rámci MVC.
U JSF 1.2 je nutné je zaregistrovat v konfiguračním souboru JSF, Faces-config.xml, zatímco od JSF 2.0 se poznámky používají k registraci spravovaných fazolí.
Otázka č. 5) Jaké jsou rozsahy spravovaných fazolí?
Odpovědět: Managed Beans jsou třída Java, která se skládá ze sady metod a vlastností getter / setter. Funguje jako model pro rámec JSF a nabízí funkce jako,
- Ověření dat součásti
- Spravujte provedení události komponenty
- Zpracovává se, aby se rozhodlo, která stránka aplikace přejde dále
- JSF používá spravované fazole buď jejich konfigurací do souboru XML, nebo prostřednictvím anotací.
Pro třídu spravovaných fazolí se používají následující obory:
- aplikace
- Zasedání
- Pohled
- Žádost
- Žádný
- Zvyk
Otázka č. 6) Co je to Facelet?
Odpovědět: Facelety jsou lehký jazyk deklarace stránky, který používá šablony stylů HTML k vytváření stromu komponent k vytváření pohledů tváří serveru Java.
Některé funkce Facelets jsou uvedeny níže:
- Pro vytváření webových stránek používá XHTML.
- Kromě knihoven značek JSF a JSTL nabízí knihovny značek Facelets.
- Podpora výrazových jazyků, šablon komponent a stránek.
Otázka č. 7) Vysvětlete výhody používání Faceletu.
Odpovědět: Výhody jsou následující:
- Rychlá doba kompilace
- Vysoce výkonné vykreslování
- Rozšiřuje své funkce na komponenty a další objekty na straně serveru pomocí přizpůsobení
- Podpora opětovného použití kódu prostřednictvím složených komponent a šablonování
- Ověření EL v době kompilace
Otázka č. 8) Seznam značek Facelet používaných v prostředí Java Server Face.
Odpovědět: Níže jsou uvedeny některé značky Facelet použité v JSF:
- ui: součást definuje vytvořenou komponentu a přidá ji do stromu komponent.
- ui: složení definuje složení stránky, volitelně používá šablony a ignoruje obsah venku.
- ui: debug definuje vytvořenou ladicí komponentu a přidá ji do stromu komponent.
- ui: zdobí je podobný tagu komponenty, zvažte obsah mimo tuto značku.
- ui: definovat se používá k definování obsahu vloženého na stránku šablonou.
- ui: fragment je podobný komponentě a zdobí značku. Zvažuje obsah mimo tuto značku.
- ui: zahrnout znovu používá a zapouzdřuje obsah více stránek.
- ui: vložte jako název vloží obsah do šablony.
- ui: přestaň předat parametry do přiloženého souboru.
- ui: opakovat alternativa pro smyčkové značky, například c: forEach nebo c: dataTable.
- ui: odstranit se používá k odebrání obsahu ze stránky.
Q # 9) Seznam typů navigace stránkami JSF podporuje.
Odpovědět: JSF podporuje následující typy navigace po stránce:
- Podmíněná navigace
- Navigace vpřed versus přesměrování
- Implicitní navigace
- Navigace pomocí spravovaného fazole
- Navigace pomocí přesměrování
Otázka č. 10) Popište různé značky textového pole nabízené společností JSF.
Odpovědět: Níže jsou popsány různé značky textového pole:
- vloží textové pole vedle pole štítku.
- se používá jako kontejner pro zadávání mnoha znaků.
- je typ textového pole, které se používá pro pole hesla, aby zadaná data nebyla odhalena.
Q # 11) Popište výraz hodnoty a výraz metody.
Odpovědět: Výraz hodnoty načte hodnotu a nastaví hodnotu. Dále se dělí na výraz rvalue a výraz lvalue. rvalue může číst pouze data, zatímco lhodnota umí číst i zapisovat data.
Veřejná metoda fazole je vyvolána výrazem metody, který vrací výsledek požadovaný pro ověření datové komponenty a zpracování události.
Otázka č. 12) Jaké typy ověření jsou k dispozici v JSF?
Odpovědět: V JSF existují dva typy ověřování, a to: deklarativní a imperativní.
- Deklarativní validace jsou vyvolány pomocí standardních validátorů JSF nebo Bean validátorů.
- Rozkazovací způsob validace jsou komplexní uživatelem deklarované validátory, které přepisují standardní validaci, protože standardní validační zprávy nejsou ve všech případech adekvátní.
Q # 13) Seznam výrazů, které JSF Expression Language podporuje.
Odpovědět: Podporované výrazy jsou uvedeny níže:
- Okamžitý výraz hodnoty
- Výraz odložené hodnoty
- Výraz hodnoty
- Vyjádření metody
Otázka č. 14) Popište různé typy událostí JSF.
Odpovědět: Existují hlavně tři typy událostí JSF, jmenovitě Akce akcí, Události změny hodnot a Události fáze.
- Akční události jsou generovány pro komponenty uživatelského rozhraní, jako je příkazové tlačítko nebo hypertextový odkaz na příkaz.
- Události změny hodnoty referenční textové pole, seznam přepínačů. Jakákoli změna hodnoty v těchto komponentách uživatelského rozhraní vyvolá událost změny hodnoty.
- Fázové události jsou aktivovány buď na začátku, nebo na konci kterékoli ze šesti fází životního cyklu JSF.
Otázka č. 15) Podrobně vysvětlete komponenty tabulky vázané na data.
Odpovědět: Komponenty odpovědné za zobrazení relačních dat v tabulkovém formátu jsou známé jako komponenty tabulky vázané na data. štítek iteruje napříč každým záznamem zobrazeným v řádcích, zatímco štítek zobrazit datové komponenty.
Některé z atributů h: tabulka dat jsou cellpadding, cellspacing, bgcolor a border.
Otázka č. 16) Seznam validačních značek dostupných v JSF.
java přidávání prvků do pole
Odpovědět: Značky validátoru jsou uvedeny níže:
- f: validateLength se používá k ověření délky řetězce.
- f: validateLongRange se používá při ověřování rozsahu číselných hodnot.
- f: validateDoubleRange se používá při ověřování rozsahu hodnot float.
- f: validateRegex: validace porovnává daný regulární výraz s komponentami JSF.
Otázka č. 17) Co jsou anotace JSF?
Odpovědět: Anotace v JSF pomáhá při vývoji jasného a čistého kódu. Může být použit v samotných balíčcích, třídách, konstruktorech, rozhraních, polích, metodách, parametrech, proměnných nebo anotacích.
Existují hlavně tři kategorie anotací - viz. Značky, anotace s jednou hodnotou, úplné anotace.
Otázka č. 18) Popište svazkování zdrojů.
Odpovědět: Vždy je vhodné ukládat štítky uživatelského rozhraní, formát data, stavové zprávy a textové prvky uživatelského rozhraní, jako je ukládání parametrů pro národní prostředí pro internacionalizaci atd., Do souboru vlastností, místo jejich pevného kódování na každou stránku XHTML. Ukládání těchto konstantních hodnot do jednoho souboru a zobrazování těchto hodnot na různých stránkách se označuje jako sdružování prostředků.
Deskriptor nasazení tváře-config.xml obsahuje konfigurační nastavení pro aplikaci JSF, kde můžeme nakonfigurovat balíček prostředků a uložit do něj tyto hodnoty.
Otázka č. 19) Seznam výhod používání rámce JSF.
Odpovědět: Následuje několik důležitých výhod:
- Rámec JSF rychle vytváří uživatelská rozhraní pomocí své vestavěné knihovny komponent uživatelského rozhraní s oddělením mezi prezentací a chováním.
- Má bohatou architekturu pro správu, zpracování, ověřování vstupů uživatelů.
- Jeho události jsou integrovány s kódem na straně serveru.
- Nabízí zásuvné ovládání na úrovni komponent.
- Podporuje funkce usnadnění a internacionalizace.
Otázka č. 20) Seznam výhod výrazového jazyka.
Odpovědět: Výrazový jazyk nabízí následující výhody:
- Autoři stránek mohou minimalizovat použití skriptů na webové stránce
- Nabídněte vyšší produktivitu
- Snadná údržba
- Plochá křivka učení
- Zahrnuto v JSP 2.0, JSF
- Použití výrazu v různých fázích životního cyklu stránky
- Nastavte data externích objektů a získejte tato data pomocí výrazů
- Výrazy metod nabízejí zpracování událostí, ověření a další funkce pro komponenty uživatelského rozhraní JSF
Otázka č. 21) Vysvětlete, co může obsahovat adresář válečných souborů aplikace Java Server Faces?
Odpovědět: Archivní (válečný) soubor webové aplikace aplikace JSF obsahuje následující:
- web.xml - prostředek konfigurace deskriptoru webových aplikací pro webové aplikace.
- Základní třídy v sadě souborů JAR (Java Archive).
- Třídy aplikací, stránky Java Server Faces, další požadované zdroje, jako jsou obrazové soubory.
- Zdrojové soubory pro konfiguraci aplikace.
Otázka č. 22) Jaké typy značek Facelet se používají v JSF 2.0?
Odpovědět: Různé typy značek Facelet v JSF 2.0 jsou:
- Šablony nabízejí společný styl a rozvržení rozhraní ve webových aplikacích, ui: vložte, ui: definujte, ui: zahrňte a ui: složení.
- Značky Param slouží k předávání parametrů do souboru šablony.
- Vlastní značky k vykreslení vlastního obsahu.
- Odstranit označení slouží k zastavení vykreslování komentovaného kódu JSF na straně klienta.
Otázka č. 23) Popište standardní knihovny značek JSF
Odpovědět: Knihovna standardních značek JSF se skládá z různých typů vstupu HTML. Některé z nich jsou uvedeny níže:
- h: inputText: Vytvoří textové pole HTML textového typu
- h: inputSecret: Textové pole HTML typu hesla
- h: inputTextarea: Vstupní pole textové oblasti HTML
- h: inputHidden: HTML vstup typu skrytý
- h: selectBoolean Checkbox: Zaškrtávací políčko pro jeden HTML
- h: selectManyCheckbox: Zaškrtávací políčka pro skupinu HTML
- h: selectOneRadio: Pro jeden přepínač HTML
- h: selectOneListBox: Pro seznam HTML s jedním seznamem
Otázka č. 24) Diskutujte o důležitosti anotace @ManagedProperty v JSF 2.0.
Odpovědět: Pomocí anotace @ManagedProperty lze fazole vložit do jiné vlastnosti fazole pomocí metody seteru fazole. Potřebujeme atribut hodnoty obsahující název fazole, který má být vložen.
Otázka č. 25) Co znamená poznámka @ApplicationScoped?
Odpovědět: Anotace @ApplicationScoped se používá k definování rozsahu, ve kterém bude fazole uložena, a zůstane napříč interakcí uživatele ve webových aplikacích. Spravované fazole obvykle zaostávají za instancí.
Za účelem vytvoření instance fazole s rozsahem aplikace při spuštění aplikace. Atribut Eager je ve spravovaném objektu bean splněn.
@ManagedBean (eager = true)
@ApplicationScoped
Otázka č. 26) Seznam komponent datově vázané tabulky z JSF 2.0.
Odpovědět: Značka se používá k vytvoření datové tabulky a komponenty tabulky vázané na data v JSF se skládají z prvků, jako je řazení sloupců (vzestupně / sestupně), zaškrtávací políčka, stránkování.
Otázka č. 27) Seznam různých implementací JSF.
Odpověď: Implementace jsou uvedeny níže:
Apache MyFaces | Oracle Mojarra | OmniFaces |
---|---|---|
JSF nepodporuje služby middlewaru jako JAAS, JNDI, JMS a Java Mail | Podporuje služby middlewaru jako JAAS, JNDI, JMS a Java Mail | |
PrimeFaces | RichFaces | ICE Faces |
Otázka č. 28) Vysvětlete okamžité a vykreslené atributy v JSF.
Odpovědět: Když booleovská hodnota an okamžitý atribut je nastaven jako true, vynutí konverze, události a zpracování ověření během fáze požadavku životního cyklu JSF.
Vykreslený atribut by rozhodlo, že komponenta by měla být vykreslena nebo ne na stránce zobrazení, používá aritmetické literály a operátory s výrazem rvalue a ne s výrazem lvalue.
Otázka č. 29) Seznam výhod značek datových tabulek JSF.
Odpovědět: Značky datové tabulky JSF se používají k zobrazení relačních dat v tabulkovém formátu na stránkách zobrazení JSF.
Výhody nabízené značkami datové tabulky jsou:
- Aby bylo možné zobrazit data, datová tabulka může iterovat nad poli nebo shromažďováním hodnot.
- Značky datové tabulky nabízejí atributy pro úpravu jeho dat, která se zobrazují na stránce zobrazení JSF.
Otázka č. 30) Rozlišujte mezi JSF 1.0 a JSF 2.0.
Odpovědět: Rozdíly mezi těmito dvěma jsou uvedeny níže:
JSF1.2 | JSF 2.0 |
---|---|
Spravované fazole jsou registrovány v Faces-config.xml s JSF 1.2 | Anotace se používají k registraci spravovaných fazolí v JSF 2.0 |
V JSF 1.0 Faces Servlet jsou konfigurovány v web.xml s url vzorem jako / tváře / * | V JSF 2.0 Faces Servlet jsou konfigurovány v web.xml s url vzorem jako * .xhtml |
JSF 1.2 byl vydán s EL a vylepšil a sjednotil zpracování zobrazení, aby se odstranila těsná vazba s JSP. | JSF 2.0 nabízí podporu požadavků GET, nový rozsah pohledu, použití anotací, generik, zahrnuje facelety jako výchozí zobrazení místo JSP a zpracování zdrojů |
JSF 1.0 používá API pro vlastní komponenty | Podpora JSP je v JSF2.0 zastaralá a nahrazena Facelety (xhtml) |
Otázka č. 31) Vysvětlete osvědčené postupy použité při vytváření aplikace JSF.
Odpovědět: Osvědčené postupy nebo pravidla, která je třeba dodržovat během vývoje webu pomocí JSF týkající se různých fazolí podporujících rozsah, jsou následující:
- Začněte s @RequestScoped Bean, dokud obchodní data a stav neztratí a poté vyberte další obor vyšší úrovně.
- Pokud chcete přestat sdílet data nebo stav mezi všemi uživateli, vyhněte se oboru @ApplicationScoped.
- Chcete-li přestat sdílet data nebo stav mezi všemi kartami prohlížeče, vyhněte se @SessionScope.
- Chcete-li zabránit ztrátě dat a stavu přes požadavky HTTP, vyhněte se @RequestScope.
- Fazole s rozsahem View, Flow, Session a Conversation nemají na uživatele žádný vliv.
- Vyvarujte se volání obchodní logiky v metodách getru JSF doprovodných fazolí.
- Použijte sadu výsledků ve vlastnosti value.
- K výpočtu sady výsledků se používá metoda s poznámkami @PostConstruct.
Otázka č. 32) Popište architekturu tváří JavaServer
Odpovědět: JavaServer Faces implementuje návrhový vzor MVC, komponenty jsou definovány samostatně, s odlišnou logikou.
- Zobrazit komponentu pro logiku prezentace a
- Je implementována modelová součást pro obchodní logiku.
- Komponenta řadiče řídí navigaci z jednoho pohledu do druhého a provádí různé modelové metody.
Řídicí část se skládá z
- Servlet řadiče, tj. FacesServlet
- Centralizovaný konfigurační soubor, tj. Tváře-config.xml
- Sada obslužných rutin událostí pro webové aplikace.
Otázka č. 33) Jaké jsou rozdíly mezi JSF a jarním rámcem?
Odpovědět: Rozdíly mezi těmito dvěma jsou uvedeny níže:
Tváře serveru Java | Jaro |
---|---|
JSF se používají k vytváření uživatelských rozhraní založených na komponentách pro webové aplikace. | Jaro používá pro webovou aplikaci návrhový vzor DispatcherServlet a model-view-controller. |
Má vyspělý rámec uživatelského rozhraní, komplexní a bohaté komponenty na straně životního cyklu serveru | Jaro nabízí aplikační rámec pro samostatné, webové a distribuované aplikace. |
JSF umožňuje integraci s HTML, JSP při vývoji komponenty pohledu řadiče zobrazení modelu. | Velocity, Free marker atd. Se používají pro komponentu zobrazení s Spring frameworkem |
Nemá předdefinovanou podporu pro integraci JDBC, EJB, Hibernate a RMI | Nabízí předdefinovanou podporu pro JDBC, EJB, Hibernate, RMI atd. |
JSF je rámec těžké váhy | Jaro je lehký rám |
Má větší závislost na API a nemá žádnou podporu pro implementace POJO | Má implementace POJO a menší závislost na API. |
Závěr
JavaServer Faces je webový rámec Java, který navrhuje komponenty uživatelského rozhraní pomocí spravovaných fazolí, podpůrných fazolí, Faceletů a dalších vlastních knihoven, jako jsou prime face nebo ice face.
Aplikační architekti, vývojáři, autoři komponent a stránek by měli dobře znát různé rámce, jako jsou Java Server Faces, kromě jiných rámců jako Spring, Hibernate a Struts.
Tento tutoriál otázek rozhovorů JSF vám pomůže připravit se na většinu rozhovorů JSF.
Doporučené čtení
- Top 20 Java Interview Programmes for Programming and Coding Interview
- JSP Interview Otázky a odpovědi (Aktualizováno 2021)
- 30+ NEJLEPŠÍCH dotazů a odpovědí na servlet (SEZNAM 2021)
- Nejlepší 50+ základních otázek a odpovědí na rozhovor s Java
- 30+ nejlepších sbírek Java Dotaz na rozhovor s odpověďmi (SEZNAM 2021)
- 25 nejlepších rámců a nástrojů pro testování automatizace Java (část 3)
- Top 20+ .NET Interview Otázky a odpovědi
- Dotazy a odpovědi na pohovor