top 30 jsf interview questions
Този урок предоставя често задавани въпроси и отговори за интервю за Java Server Faces или JSF с обяснения, за да ви помогне да се подготвите за интервюто:
За Java Developer е от съществено значение да има работещи познания в една или повече популярно използвани Java рамки като Spring, Hibernate, Struts и Java Server Faces (JSF).
как да добавя към низ масив
JSF е една от рамките на Java, която бързо помага за проектирането на компоненти на уеб потребителския интерфейс.
JSP беше Java технология, която използва Java API, неявни обекти и персонализирани маркери, за да разработи динамично уеб съдържание, докато използва Java Server Faces (JSF), Java базирана рамка за уеб приложения за разработване на компоненти на уеб базиран потребителски интерфейс.
JSF е управлявал компоненти, разрешения за лица, анотации и библиотеки на помощни програми, като основни лица и Omni лица или ледени лица, за да разработи компоненти, базирани на сървърни шаблони.
Какво ще научите:
Java Server Faces
Технологията Java Server Faces предлага API за изграждане на компоненти на потребителския интерфейс за многократна употреба в уеб страниците. Той свързва компонентите с източника на данни от приложението и генерираните от клиента събития към манипулаторите на събития от страна на сървъра, поддържа състоянието на потребителския интерфейс в множество заявки на сървъра, както и реализира персонализирани компоненти.
JSF предоставя основна библиотека, стандартни елементи за въвеждане на HTML като базови компоненти на потребителския интерфейс, базирани на различни устройства и тип клиент, казват HTML браузър, WAP или безжични устройства, осигурява възможност за визуализиране на компоненти на потребителския интерфейс.
Често задавани въпроси за интервю за JSF
В # 1) Какво представлява Java Server Faces (JSF)?
Отговор: Това е Java рамка, базирана на MVC дизайн, която има богати библиотеки на API и тагове, които предлагат създаването на компоненти на потребителския интерфейс от страна на сървъра за уеб разработка.
JSF има библиотека с маркери, API, Facelets и UI компоненти и управлявани компоненти за създаване на уеб приложения.
В # 2) Какви функции предлага Java Server Faces в уеб разработката?
Отговор: Функциите са изброени по-долу:
- Java рамка, изградена над API на Servlet
- Компонентите на потребителския интерфейс се съхраняват на сървъра
- Модел на програмиране, управляван от събития, който се обработва на сървъра
- Поддържа множество клиентски устройства
- Лесно внедряване на компоненти на трети страни
- Разширяема архитектура
- Широка поддръжка на инструменти от Borland, Exadel, Sun, Oracle, IBM, BEA и др.
- Подход за бърза разработка на приложения (RAD)
- Поддържа интернационализация на етикети и текст на потребителския интерфейс
Функции на Java Server Faces:
Въпрос # 3) Обяснете жизнения цикъл на JSF.
Отговор: Жизненият цикъл съдържа 6 фази, както е обяснено по-долу:
# 1) Възстановяване на изглед: Жизненият цикъл започва с фазата на изглед за възстановяване. Когато върху уеб страницата се щракне върху връзка или бутон, се изпраща заявка до JSF с операции, изброени по-долу:
- Изгледът е изграден от JSF
- Свързва манипулаторите на събития и валидаторите към компонентите на потребителския интерфейс
- Запазва този изглед в екземпляр FacesContext
- Предоставя цялата информация на FacesContext за обработка на заявка
# 2) Заявка за кандидатстване: Тук се създава всеки компонент от дървото на компонентите. Използвайте метода за декодиране, който улавя и записва нови стойности от параметрите на заявката. В случай на неуспех по време на преобразуване, той генерира съобщение за грешка и го изброява във FacesContext. Той ще покаже съобщения за проверка или грешки по време на фазата на реакция при визуализиране. JSF се премества във фаза на рендиране, когато слушателите на събитията на метода на декодиране извикат метод renderResponse.
# 3) Валидиране на процеса: По време на тази фаза JSF обработва валидатори на дърво на компоненти, изследва правилата за атрибути за проверка и ги сравнява със съхранената локална стойност на компонента. В случай на невалидна локална стойност, JSF добавя съобщение за грешка към екземпляр FacesContext, показвайки същата страница със съобщение за грешка и с жизнен цикъл на JSF, който се придвижва по-нататък към фазата на реакция при изобразяване.
# 4) Актуализация на стойността на модела: След като JSF проверява валидни данни, той задава съответните свойства на обекта от страна на сървъра на локалните стойности на компонента и актуализира свойствата на компонента, съответстващи на атрибута стойност на входния компонент. Когато renderResponse от текущия екземпляр на FacesContext се извиква чрез методите updateModels, JSF се премества във фазата на отговор на рендерирането.
# 5) Извикване на приложение: По време на тази фаза събитията на ниво приложение, като изпращане на формуляр или препращане към друга страница, се обработват от Java Server Faces.
# 6) Оказване на отговор: В случай, че приложението има JSP страници, JSF иска сървърът на приложения да изобрази страницата, като по този начин добавя компоненти на страницата към дървото на компонентите. В противен случай вече изграденото дърво на компонентите не трябва да добавя никакви компоненти; JSP контейнер премества тагове и изобразява компоненти. Състоянието на отговора се запазва, след като съдържанието на изгледа е представено, като поредните заявки могат да получат достъп до състоянието и неговата наличност за възстановяване на фазата на изглед.
В # 4) Какво е значението на управляваните зърна в Java Server Faces?
Отговор: Управляваните зърна са Java зърна, които съдържат методи за получаване и задаване и в които е проектирана бизнес логика. По желание може да има подложка. Те действат като модел за компоненти на потребителския интерфейс в рамката на MVC.
За JSF 1.2 се изисква да ги регистрирате в конфигурационния файл на JSF, faces-config.xml, докато от JSF 2.0 нататък, анотациите се използват за регистриране на управлявани бобчета.
В # 5) Какви са обхватът на управлявания фасул?
Отговор: Managed Beans са Java клас, който се състои от набор от getter / setter методи и свойства. Той действа като модел на JSF рамката и предлага функционалности като,
- Проверка на данните за компонентите
- Управлявайте изпълнението на събитие на компонент
- Обработка, за да се реши в коя странична програма ще се движи следващата
- JSF използва управлявани компоненти или чрез конфигуриране в XML файл, или чрез анотации.
Следните обхвати се използват за клас на управляван боб:
- Приложение
- Сесия
- Изглед
- Заявка
- Нито един
- Персонализиран
В # 6) Какво е Facelet?
Отговор: Facelets са лек език за деклариране на страници, който използва шаблони за HTML стил за изграждане на дърво на компоненти за изграждане на изгледи на сървъри на Java.
Някои от функциите на Facelets са изброени по-долу:
- Той използва XHTML за създаване на уеб страници.
- Освен библиотеките с тагове JSF и JSTL, той предлага библиотеки с етикети Facelets.
- Поддръжка на език за изрази, шаблони за компоненти и страници.
В # 7) Обяснете предимствата на използването на Facelet.
Отговор: Предимствата са следните:
- Бързо време за компилиране
- Високопроизводително изобразяване
- Разширява своята функционалност до компоненти и други обекти от страна на сървъра чрез персонализиране
- Поддръжка за повторно използване на код чрез композитни компоненти и шаблони
- Компилирано EL валидиране
В # 8) Списък на маркери за Facelet, използвани в Java Server Face.
Отговор: Някои от маркерите на Facelet, използвани в JSF, са изброени по-долу:
- ui: компонент дефинира създадения компонент и добавя към дървото на компонентите.
- ui: състав дефинира състава на страницата, използва шаблони по избор и игнорира съдържанието отвън.
- ui: отстраняване на грешки дефинира създадения компонент за отстраняване на грешки и добавя към дървото на компонентите.
- ui: украсявам е подобен на компонентния маркер, помислете за съдържание извън този маркер.
- ui: дефинирайте се използва за дефиниране на съдържание, вмъкнато в страницата от шаблон.
- ui: фрагмент е подобен на компонент и украсява етикет. Той разглежда съдържанието извън този маркер.
- ui: включва използва повторно и капсулира съдържанието на множество страници.
- ui: вмъкване като името вмъква съдържанието в шаблон.
- ui: спри предава параметри на включения файл.
- ui: повторете алтернатива за циклични маркери, като c: forEach или c: dataTable.
- ui: премахване се използва за премахване на съдържание от страница.
В # 9) Видове списъци за навигация по страници, които JSF поддържа.
Отговор: JSF поддържа следните типове навигация по страници:
- Условна навигация
- Напред спрямо пренасочена навигация
- Неявна навигация
- Навигация чрез управляван боб
- Навигация чрез пренасочване
В # 10) Опишете различни маркери на текстови полета, предлагани от JSF.
Отговор: Различните маркери на текстовите полета са описани по-долу:
- вмъква текстово поле в съседство с полето на етикета.
- се използва като контейнер за въвеждане на множество символи.
- е тип текстово поле, което се използва за поле за парола, така че въведените данни не се разкриват.
В # 11) Опишете израз на стойност и израз на метод.
Отговор: Изразът стойност извлича стойност и задава стойност. По-нататък те се разделят на rvalue израз и lvalue израз. rvalue може да чете само данни, докато стойност може да чете и записва данни.
Публичният метод на бина се извиква чрез израз на Метод, който връща резултата, необходим за проверка на компонента за данни и обработката на събитията.
В # 12) Какви типове валидации са налични в JSF?
как да улавя грешки по време на автоматизацията на изграждането
Отговор: Има два вида валидиране в JSF, а именно, Декларативно и Императивно.
- Декларативна валидациите се извикват с помощта на JSF стандартни валидатори или Bean валидатори.
- Наложително валидациите са сложни декларирани от потребителя валидатори, които заменят стандартната валидация, тъй като стандартните съобщения за валидиране не са адекватни във всички случаи.
Въпрос # 13) Списък на изразите JSF Expression Language поддържа.
Отговор: Поддържаните изрази са изброени по-долу:
- Израз на непосредствена стойност
- Израз на отложена стойност
- Стойност израз
- Израз на метода
Въпрос # 14) Опишете различни видове JSF събития.
Отговор: Съществуват предимно три типа JSF събития, а именно събития за действие, събития за промяна на стойността и събития за фаза.
- Екшън събития се генерират за компоненти на потребителския интерфейс като командния бутон или командната хипервръзка.
- Събития за промяна на стойността справочно текстово поле, списък с радио бутони. Всяка промяна на стойността в тези компоненти на потребителския интерфейс ще извика събитие за промяна на стойността.
- Фазови събития се изстрелват или по време на началото, или към края на някоя от шестте фази на жизнения цикъл на JSF.
Въпрос # 15) Обяснете подробно компонентите на таблицата, свързани с данни.
Отговор: Компонентите, отговорни за показване на релационни данни в табличен формат, са известни като компоненти на таблицата, свързани с данни. етикет итерира през всеки запис, показан на редове, докато етикет показване на компоненти за данни.
Някои от атрибутите на h: dataTable са cellpadding, cellpacing, bgcolor и border.
В # 16) Списък на валидаторните маркери, налични в JSF.
Отговор: Таговете за валидатор са изброени по-долу:
- f: validateLength се използва за проверка на дължината на низа.
- f: validateLongRange се използва при валидиране на числовия диапазон от стойности.
- f: validateDoubleRange се използва при валидиране на диапазона с плаваща стойност.
- f: validateRegex: валидирането сравнява даден регулярен израз с JSF компоненти.
В # 17) Какво представляват JSF анотациите?
Отговор: Анотациите в JSF помагат за разработването на ясен и чист код. Може да се използва в пакети, класове, конструктори, интерфейси, полета, методи, параметри, променливи или самите анотации.
Има основно три категории анотиране - а именно. Маркери, Еднозначна анотация, Пълни анотации.
Въпрос # 18) Опишете групиране на ресурси.
Отговор: Винаги е удобно да съхранявате етикети на потребителския интерфейс, формат на датата, съобщения за състоянието и текстови елементи на потребителския интерфейс, като съхраняване на параметри за локали за интернационализация и т.н. във файла с свойства, вместо да ги кодирате твърдо във всяка XHTML страница. Съхраняването на тези постоянни стойности в един файл и показването им на различни страници е известно като групиране на ресурси.
Дескрипторът за внедряване лица-config.xml съдържа конфигурационни настройки за JSF приложение, където можем да конфигурираме пакет от ресурси и да запишем тези стойности в него.
Въпрос # 19) Избройте предимствата от използването на JSF рамката.
Отговор: Следват някои от важните предимства:
- JSF рамката бързо създава потребителски интерфейси със своята вградена библиотека на компонентите на потребителския интерфейс с разделяне между презентация и поведение.
- Той има богата архитектура за управление, обработка, валидиране на потребителски входове.
- Неговите събития са интегрирани със сървърен код.
- Предлага включен контрол на ниво компонент.
- Поддържа функции за достъпност и интернационализация.
Въпрос # 20) Избройте предимствата на езика на израза.
Отговор: Езикът за изразяване предлага следните предимства:
- Авторите на страници могат да сведат до минимум използването на скриптове в уеб страницата
- Предлагат по-голяма производителност
- Лесна за поддръжка
- Плоска крива на обучение
- Включен в JSP 2.0, JSF
- Използване на израз на различни етапи от жизнения цикъл на страницата
- Задайте данни за външен обект и ги вземете с помощта на изрази
- Изразите на методите предлагат обработка на събития, валидиране и други функционалности за JSF UI компоненти
Въпрос # 21) Обяснете какво може да съдържа файловата директория за файлови приложения на Java Server Faces?
Отговор: Файлът за архив на уеб приложения (война) на приложението JSF съдържа следното:
- web.xml - ресурс за конфигуриране на дескриптор на уеб приложения за уеб приложения.
- Основни класове в набор от JAR (Java Archive) файлове.
- Класове на приложения, страници на Java Server Faces, други необходими ресурси като файлове с изображения.
- Файлове с ресурси за конфигуриране на приложения.
Въпрос # 22) Какви типове маркери на Facelet се използват в JSF 2.0?
Отговор: Различните типове маркери на Facelet в JSF 2.0 са:
- Шаблони предлагат общ стил и оформление на интерфейса в уеб приложенията, ui: insert, ui: define, ui: include и ui: sastav.
- Param тагове са за предаване на параметри към файла на шаблона.
- Персонализирани маркери за рендиране на персонализирано съдържание.
- Премахване на маркера използва се за спиране на изобразяването на коментиран JSF код от страна на клиента.
Въпрос # 23) Опишете JSF стандартни библиотеки с маркери
Отговор: JSF стандартната библиотека с маркери се състои от различни типове HTML въвеждане. Някои от тях са изброени по-долу:
- h: inputText: Създава HTML текстово поле от текстов тип
- h: inputSecret: HTML текстово поле от тип парола
- h: inputTextarea: Поле за въвеждане на HTML текстово поле
- h: inputHidden: HTML вход от тип е скрит
- h: selectBooleanCheckbox: Поле за единичен HTML
- h: selectManyCheckbox: За отметка в група от HTML
- h: selectOneRadio: За единичен HTML радио бутон
- h: selectOneListBox: За едно списъчно поле с HTML
Въпрос # 24) Обсъдете важността на анотацията @ManagedProperty в JSF 2.0.
Отговор: Използвайки анотацията @ManagedProperty, бобът може да се инжектира в друго свойство на боб, като се използва методът за задаване на боб. Нуждаем се от атрибут стойност, съдържащ името на боб, което трябва да се инжектира.
В # 25) Какво означава пояснението @ApplicationScoped?
Отговор: @ApplicationScoped анотацията се използва за определяне на обхвата, в който ще се съхранява боб и остава при взаимодействието на потребителя в уеб приложенията. Управляваните зърна обикновено изостават, за да създадат екземпляр.
За да се създаде екземпляр на обхват на приложения с начало на приложението. Атрибутът Eager се прави вярно в управлявания боб.
инициализиране на статични променливи c ++
@ManagedBean (нетърпелив = вярно)
@ApplicationScoped
В # 26) Избройте компонентите на таблицата, свързани с данни от JSF 2.0.
Отговор: tag се използва за създаване на таблица с данни и компонентите на таблицата, свързани с данни в JSF, се състои от елементи като Сортиране на колони (Възходящо / Низходящо), квадратчета за отметка, Pagination.
В # 27) Избройте различно изпълнение на JSF.
Отговор: Реализациите са изброени по-долу:
Apache MyFaces | Oracle Mojarra | OmniFaces |
---|---|---|
JSF не поддържа услуги на междинния софтуер като JAAS, JNDI, JMS и Java Mail | Поддържа мидълуер услуги като JAAS, JNDI, JMS и Java Mail | |
PrimeFaces | RichFaces | ICE Faces |
В # 28) Обяснете незабавни и изобразени атрибути в JSF.
Отговор: Когато логическата стойност на непосредствен атрибут е зададено като true, то ще принуди преобразувания, събития и обработка на валидиране по време на фазата на заявка на жизнения цикъл на JSF.
Предоставен атрибут би решил, че компонентът трябва да бъде изобразен или не в страницата за преглед, той използва аритметични литерали и оператори с израз rvalue, а не с израз lvalue.
Въпрос # 29) Избройте предимствата на JSF маркерите за таблици с данни.
Отговор: Таговете на таблицата с данни на JSF се използват за показване на релационни данни в табличен формат на страниците с изглед на JSF.
Предимствата, предлагани от маркерите на таблицата с данни, са:
- За да се покажат данни, таблицата с данни може да итерира масиви или събиране на стойности.
- Таговете за таблици с данни предлагат атрибути за промяна на данните му, които се показват на страницата за изглед на JSF.
Q # 30) Разграничаване между JSF 1.0 и JSF 2.0.
Отговор: Разликите между двете са изброени по-долу:
JSF1.2 | JSF 2.0 |
---|---|
Управляваните зърна се регистрират в лица-config.xml с JSF 1.2 | Анотациите се използват за регистриране на управлявани зърна в JSF 2.0 |
В JSF 1.0 Faces Servlet са конфигурирани в web.xml с url-модел като / лица / * | В JSF 2.0 Faces Servlet са конфигурирани в web.xml с url-pattern като * .xhtml |
JSF 1.2 беше пуснат с EL и подобрена и унифицирана обработка на изгледа, за да се премахне плътното свързване с JSP. | JSF 2.0 предлага поддръжка на GET заявки, нов обхват на изглед, използване на анотации, генерични продукти, включва facelets като изглед по подразбиране вместо JSP и обработка на ресурси |
JSF 1.0 използва API за персонализирани компоненти | JSP е остарял в JSF2.0 и е заменен от Facelets (xhtml) |
Въпрос # 31) Обяснете най-добрите практики, приложени за изграждане на JSF приложение.
Отговор: Най-добрите практики или правила, които трябва да се спазват по време на уеб разработката, използвайки JSF, свързани с различни обекти за подпомагане на обхвата, са както следва:
- Започнете с @RequestScoped Bean, докато бизнес данните и състоянието се загубят и след това изберете следващия обхват от по-високо ниво.
- За да спрете споделянето на данни или състояние между всички потребители, избягвайте обхвата @ApplicationScoped.
- За да спрете споделянето на данни или състояние между всички раздели на браузъра, избягвайте @SessionScope.
- За да предотвратите загуба на данни и състояние по HTTP заявки, избягвайте @RequestScope.
- Обхватът на обхват View, Flow, Session и Conversation няма ефект върху потребителите.
- Избягвайте да извиквате бизнес логика в методите за получаване JSF подкрепящи зърна.
- Използвайте набор от резултати в свойство стойност.
- @PostConstruct коментиран метод се използва за изчисляване на набор от резултати.
В # 32) Опишете архитектурата на JavaServer Faces
Отговор: JavaServer Faces изпълнява шаблон за проектиране на MVC, компонентите са дефинирани отделно, с различна логика.
- Преглед на компонент за презентационна логика и
- Внедрен е компонент на модел за бизнес логика.
- Компонентът на контролера контролира навигацията от един изглед в друг и изпълнява различни методични модели.
Частта на контролера се състои от
- Сервлет на контролер, т.е. FacesServlet
- Централизиран конфигурационен файл, т.е. Face-config.xml
- Комплект манипулатори на събития за уеб приложения.
Въпрос # 33) Какви са разликите между JSF и Spring структурата?
Отговор: Разликите между двете са изброени по-долу:
Java Server Faces | Пролет |
---|---|
JSF се използват за създаване на базирани на компоненти потребителски интерфейси за уеб приложения. | Spring използва DispatcherServlet и модел за изглед на контролер на модел за уеб приложение. |
Той има зряла рамка на потребителския интерфейс, всеобхватни и богати компоненти на жизнения цикъл на сървърната страна на заявките | Spring предлага рамка за приложения за самостоятелни, уеб и разпределени приложения. |
JSF позволява интеграция с HTML, JSP при разработване на компонент на изглед на контролер за изглед на модел. | Скоростта, безплатният маркер и т.н. се използват за компонент за изглед с Spring framework |
Той няма предварително дефинирана поддръжка за интегриране на JDBC, EJB, Hibernate и RMI | Той предлага предварително дефинирана поддръжка за JDBC, EJB, Hibernate, RMI и др. |
JSF е тежка рамка | Пролетта е лека конструкция |
Той има по-голяма зависимост от API и няма поддръжка за внедряване на POJO | Той има POJO внедрения и по-малко API зависимост. |
Заключение
JavaServer Faces е уеб базирана на Java рамка, която проектира компоненти на потребителския интерфейс, използвайки управлявани компоненти, бейнинг бейбове, Facelets и други потребителски библиотеки като основни лица или ледени повърхности.
Архитектите на приложения, разработчиците, авторите на компоненти и страници трябва да са добре запознати с различни рамки като Java Server Faces, освен други рамки като Spring, Hibernate и Struts.
Този урок за въпроси за интервю за JSF ви помага да се подготвите за повечето интервюта за JSF.
Препоръчително четене
- Топ 20 програми за интервю за Java за програмиране и интервю за кодиране
- Въпроси и отговори за интервю за JSP (Актуализирано през 2021 г.)
- 30+ ТОП въпроси и отговори за интервюта за сървлети (СПИСЪК 2021)
- Топ 50+ основни въпроси и отговори за интервю за Java
- 30+ Топ колекции Java Интервю въпроси с отговори (2021 СПИСЪК)
- 25 най-добри рамки за тестване на Java и инструменти за тестване за автоматизация (част 3)
- Топ 20+ .NET интервюта и отговори
- Интервюирайте въпроси и отговори