top 30 jsf interview questions
Este tutorial fornece perguntas e respostas mais frequentes da entrevista Java Server Faces ou JSF com explicações para ajudá-lo a se preparar para a entrevista:
É essencial para o desenvolvedor Java ter conhecimento prático em uma ou mais estruturas Java usadas popularmente, como Spring, Hibernate, Struts e Java Server Faces (JSF).
JSF é uma das estruturas Java que ajuda rapidamente a projetar componentes de interface de usuário da web.
qual programa irá abrir um arquivo eps
JSP era uma tecnologia Java que utilizava API Java, objetos implícitos e tags personalizadas para desenvolver conteúdos dinâmicos da web, enquanto usava Java Server Faces (JSF), uma estrutura de aplicativo da web baseada em Java para desenvolver componentes de interface do usuário baseados na web.
O JSF gerencia beans, permite face, anotações e bibliotecas de utilitários, como faces primárias e faces Omni ou faces de gelo para desenvolver componentes baseados em modelos do lado do servidor.
O que você aprenderá:
Java Server Faces
A tecnologia Java Server Faces oferece API para construir componentes de interface de usuário reutilizáveis nas páginas da web. Ele conecta componentes com a fonte de dados do aplicativo e eventos gerados pelo cliente para manipuladores de eventos do lado do servidor, mantém o estado da interface do usuário em vários pedidos de servidor e também implementa componentes personalizados.
JSF fornece biblioteca central, elementos de entrada HTML padrão como componentes de UI básicos, com base em vários dispositivos e tipo de cliente, como navegador HTML, WAP ou dispositivos sem fio, fornece capacidade de renderização para componentes de UI.
Perguntas mais frequentes da entrevista JSF
P # 1) O que é Java Server Faces (JSF)?
Responda: É uma estrutura Java baseada em design MVC que possui API rica e bibliotecas de tags que oferecem a criação de componentes de interface de usuário do lado do servidor para desenvolvimento web.
JSF tem uma biblioteca de tags, API, Facelets e componentes de IU e beans gerenciados para criar aplicativos da web.
P # 2) Quais recursos Java Server Faces oferecem no desenvolvimento web?
Responda: Os recursos estão listados abaixo:
- Estrutura Java construída sobre a API Servlet
- Os componentes da IU são armazenados no servidor
- Modelo de programação orientado a eventos que é tratado no servidor
- Suporta vários dispositivos clientes
- Facilidade de implementação de componentes de terceiros
- Arquitetura extensível
- Amplo suporte a ferramentas da Borland, Exadel, Sun, Oracle, IBM, BEA, etc.
- Abordagem de desenvolvimento rápido de aplicativos (RAD)
- Oferece suporte à internacionalização de rótulos e texto da IU
Recursos do Java Server Faces:
P # 3) Explique o ciclo de vida do JSF.
Responda: O ciclo de vida contém 6 fases, conforme explicado a seguir:
# 1) Restaurar visualização: O ciclo de vida começa com a fase de restauração da visualização. Quando um link ou botão é clicado na página da web, uma solicitação é enviada ao JSF com as operações listadas abaixo:
- View é construído por JSF
- Conecta manipuladores de eventos e validadores aos componentes da interface do usuário
- Salva esta visualização na instância do FacesContext
- Fornece todas as informações ao FacesContext para processar a solicitação
# 2) Aplicar solicitação: Aqui, cada componente da árvore de componentes é criado. Use o método de decodificação que captura e salva novos valores de parâmetros de solicitação. Em caso de falha durante a conversão, ele gera uma mensagem de erro e a lista no FacesContext. Ele exibirá mensagens de validação ou erros durante a fase de resposta de renderização. O JSF se move para renderizar a fase de resposta quando os ouvintes de evento de método de decodificação chamam o método renderResponse.
# 3) Validação do processo: Durante esta fase, o JSF processa os validadores da árvore de componentes, examina as regras de atributo para validação e as compara com o valor local armazenado do componente. Em caso de valor local inválido, o JSF adiciona uma mensagem de erro à instância FacesContext, exibindo a mesma página com uma mensagem de erro e com o ciclo de vida do JSF avançando para a fase de resposta de renderização.
# 4) Atualização do valor do modelo: Depois que o JSF verifica os dados válidos, ele define as propriedades do objeto do lado do servidor correspondentes para os valores locais do componente e atualiza as propriedades do bean, correspondendo ao atributo de valor do componente de entrada. Quando renderResponse da instância atual de FacesContext está sendo chamado pelos métodos updateModels, o JSF passa para a fase de resposta de renderização.
# 5) Chame o aplicativo: Os eventos de nível de aplicativo, como o envio de formulário ou encaminhamento para outra página, estão sendo tratados pelo Java Server Faces durante esta fase.
# 6) Renderizar a resposta: Caso o aplicativo tenha páginas JSP, o JSF solicita que o servidor de aplicativos renderize a página, adicionando componentes da página à árvore de componentes. Caso contrário, uma árvore de componentes já construída não precisa adicionar nenhum componente; O contêiner JSP move tags e componentes de renderização. O estado de resposta é salvo depois que o conteúdo da visualização é renderizado, fazendo solicitações sucessivas podem acessar o estado e sua disponibilidade para restaurar a fase de visualização.
P # 4) Qual é a importância dos beans gerenciados no Java Server Faces?
Responda: Managed Beans são Java beans que compreendem métodos getter e setter e têm lógica de negócios projetada neles. Opcionalmente, pode ter um bean de apoio. Eles atuam como um modelo para componentes de UI na estrutura MVC.
Para o JSF 1.2, é necessário registrá-los no arquivo de configuração do JSF, faces-config.xml, ao passo que, a partir do JSF 2.0, as anotações são usadas para registrar os beans gerenciados.
P # 5) Quais são os escopos dos beans gerenciados?
Responda: Beans gerenciados são uma classe Java que consiste em um conjunto de métodos e propriedades getter / setter. Ele atua como um modelo para o framework JSF e oferece funcionalidades como,
- Validação de dados de componente
- Gerenciar a execução de um evento de componente
- Processando para decidir em qual página o aplicativo navegará a seguir
- O JSF usa beans gerenciados configurando-os em um arquivo XML ou por meio de anotações.
Os seguintes escopos são usados para a classe de bean gerenciado:
- Inscrição
- Sessão
- Visão
- Solicitação
- Nenhum
- Personalizado
Q # 6) O que é um Facelet?
Responda: Facelets são linguagem de declaração de página leve que usa modelos de estilo HTML para construir árvore de componentes para construir visualizações de faces de servidor Java.
Alguns dos recursos do Facelets estão listados abaixo:
- Ele usa XHTML para criar páginas da web.
- Além das bibliotecas de tags JSF e JSTL, ele oferece bibliotecas de tags Facelets.
- Suporte a linguagem de expressão, componente e modelos de páginas.
Q # 7) Explique as vantagens de usar o Facelet.
Responda: As vantagens são as seguintes:
- Tempo de compilação rápido
- Renderização de alto desempenho
- Estende sua funcionalidade para componentes e outros objetos do lado do servidor por meio de personalização
- Suporte para reutilização de código por meio de componentes compostos e modelos
- Validação EL em tempo de compilação
Q # 8) Liste as tags do Facelet usadas no Java Server Face.
Responda: Algumas das tags Facelet usadas no JSF estão listadas abaixo:
- ui: componente define o componente criado e adiciona à árvore de componentes.
- ui: composição define a composição da página, usa modelos opcionalmente e ignora o conteúdo externo.
- ui: debug define o componente de depuração criado e adiciona à árvore de componentes.
- ui: decorar é semelhante à tag do componente, considere o conteúdo fora desta tag.
- ui: define é usado para definir o conteúdo inserido na página por um modelo.
- ui: fragmento é semelhante ao componente e decora a tag. Ele considera o conteúdo fora desta tag.
- ui: incluir reutiliza e encapsula o conteúdo de várias páginas.
- ui: inserir como nome insere conteúdo em um modelo.
- ui: param passe parâmetros para o arquivo incluído.
- ui: repetir uma alternativa para tags de loop, como c: forEach ou c: dataTable.
- ui: remove é usado para remover conteúdo de uma página.
Q # 9) Listar tipos de navegação de página que o JSF suporta.
Responda: JSF suporta os seguintes tipos de navegação de página:
- Navegação condicional
- Navegação para frente versus redirecionamento
- Navegação implícita
- Navegação via bean gerenciado
- Navegação por navegação redirecionada
P # 10) Descreva várias tags de campo de texto oferecidas pelo JSF.
Responda: Várias tags de campo de texto são descritas a seguir:
- insere uma caixa de texto adjacente ao campo do rótulo.
- é usado como um contêiner para inserir vários caracteres.
- é um tipo de campo de texto usado para o campo de senha para que os dados inseridos não sejam revelados.
Q # 11) Descreva a expressão do valor e a expressão do método.
Responda: A expressão de valor recupera um valor e define um valor. Eles são divididos em expressão rvalue e expressão lvalue. rvalue só pode ler dados, enquanto lvalue pode ler também escrever dados.
O método público do bean é invocado por Method expression que retorna o resultado necessário para validar o componente de dados e manipulação de eventos.
Q # 12) Que tipos de validações estão disponíveis no JSF?
como reproduzir arquivos mkv no pc
Responda: Existem dois tipos de validações em JSF, a saber, Declarativa e Imperativa.
- Declarativo as validações são chamadas usando validadores padrão JSF ou validadores Bean.
- Imperativo validações são validadores declarados pelo usuário complexos que substituem a validação padrão, pois as mensagens de validação padrão não são adequadas em todos os casos.
Q # 13) Expressões de lista que o JSF Expression Language suporta.
Responda: As expressões suportadas estão listadas abaixo:
- Expressão de valor imediato
- Expressão de valor diferido
- Expressão de valor
- Expressão de método
P # 14) Descreva vários tipos de eventos JSF.
Responda: Existem basicamente três tipos de eventos JSF, a saber, eventos de ação, eventos de mudança de valor e eventos de fase.
- Eventos de ação são gerados para componentes da interface do usuário, como o botão de comando ou hiperlink de comando.
- Eventos de mudança de valor campo de texto de referência, caixa de listagem de botão de opção. Qualquer alteração de valor nesses componentes de UI invocará um evento de alteração de valor.
- Eventos de fase são disparados durante o início ou no final de qualquer uma das seis fases do ciclo de vida do JSF.
Q # 15) Explique em detalhes os componentes da tabela ligada a dados.
Responda: Os componentes responsáveis por exibir dados relacionais no formato tabular são conhecidos como componentes de tabela vinculados a dados. marcação itera em cada um dos registros exibidos em linhas, enquanto marcação exibir componentes de dados.
Alguns dos atributos de h: dataTable são cellpadding, cellspacing, bgcolor e border.
Q # 16) Liste as tags validadoras disponíveis no JSF.
Responda: As tags validadoras estão listadas abaixo:
- f: validateLength é usado para validar o comprimento da string.
- f: validateLongRange é usado ao validar o intervalo de valores numéricos.
- f: validateDoubleRange é usado ao validar a faixa de valor flutuante.
- f: validateRegex: validação compara determinada expressão regular com componentes JSF.
Q # 17) O que são anotações JSF?
Responda: A anotação em JSF ajuda no desenvolvimento de código claro e limpo. Ele pode ser usado em pacotes, classes, construtores, interfaces, campos, métodos, parâmetros, variáveis ou as próprias anotações.
Existem basicamente três categorias de anotação - viz. Marcadores, anotação de valor único, anotações completas.
Q # 18) Descreva o agrupamento de recursos.
Responda: É sempre conveniente armazenar rótulos da IU, formato de data, mensagens de status e elementos textuais da IU, como armazenamento de parâmetros para localidades para internacionalização, etc., no arquivo de propriedades em vez de codificá-los em cada página XHTML. O armazenamento desses valores constantes em um arquivo e a exibição desses valores em várias páginas é conhecido como agrupamento de recursos.
O descritor de implantação faces-config.xml contém definições de configuração para o aplicativo JSF, onde podemos configurar o pacote de recursos e salvar esses valores nele.
Q # 19) Liste os benefícios de usar o framework JSF.
Responda: A seguir estão alguns dos benefícios importantes:
- A estrutura JSF cria interfaces de usuário rapidamente com sua biblioteca de componentes de IU integrada com uma separação entre apresentação e comportamento.
- Possui uma arquitetura rica para gerenciar, processar e validar as entradas do usuário.
- Seus eventos são integrados ao código do lado do servidor.
- Oferece controle plugável em nível de componente.
- Oferece suporte a recursos de acessibilidade e internacionalização.
Q # 20) Liste os benefícios da linguagem de expressão.
Responda: A linguagem de expressão oferece os seguintes benefícios:
- Os autores da página podem minimizar o uso de scripts na página da web
- Oferece maior produtividade
- De fácil manutenção
- Curva de aprendizado plana
- Incluído no JSP 2.0, JSF
- Uso de expressão em diferentes estágios do ciclo de vida da página
- Defina dados de objetos externos e obtenha esses dados usando expressões
- Expressões de método oferecem manipulação de eventos, validação e outras funcionalidades para componentes de IU JSF
Q # 21) Explique o que o diretório do arquivo war do aplicativo Java Server Faces pode conter?
Responda: O arquivo (war) do aplicativo da Web do aplicativo JSF contém o seguinte:
- web.xml - um recurso de configuração do descritor de aplicativo da web para aplicativos da web.
- Classes essenciais em um conjunto de arquivos JAR (Java Archive).
- Classes de aplicativos, páginas Java Server Faces, outros recursos necessários, como arquivos de imagem.
- Arquivos de recursos para configuração do aplicativo.
P # 22) Que tipos de tags Facelet são usados no JSF 2.0?
Responda: Vários tipos de tag Facelet no JSF 2.0 são:
- Modelos oferecem estilo e layout de interface comuns nos aplicativos da web, ui: insert, ui: define, ui: include e ui: composition.
- Tags param são para passar parâmetros para o arquivo de modelo.
- Tags personalizadas para renderizar conteúdos personalizados.
- Remover tag usado para interromper a renderização do código JSF comentado no lado do cliente.
Q # 23) Descreva as bibliotecas de tags do padrão JSF
Responda: A biblioteca de tags padrão JSF consiste em vários tipos de entrada HTML. Alguns deles estão listados abaixo:
- h: inputText: Cria uma caixa de texto HTML do tipo de texto
- h: inputSecret: Caixa de texto HTML do tipo de senha
- h: inputTextarea: Campo de entrada de área de texto HTML
- h: inputHidden: Entrada HTML do tipo oculto
- h: selectBooleanCheckbox: Para uma caixa de seleção HTML
- h: selectManyCheckbox: Para grupo de caixas de seleção HTML
- h: selectOneRadio: Para um único botão de rádio HTML
- h: selectOneListBox: Para caixa de listagem única HTML
P # 24) Discuta a importância da anotação @ManagedProperty no JSF 2.0.
Responda: Usando a anotação @ManagedProperty, o bean pode ser injetado em outra propriedade de bean usando o método setter do bean. Precisamos de um atributo de valor contendo o nome do bean que deve ser injetado.
P # 25) O que a anotação @ApplicationScoped indica?
Responda: A anotação @ApplicationScoped é usada para definir o escopo dentro do qual o bean será armazenado e permanecerá durante a interação do usuário nos aplicativos da web. Os beans gerenciados geralmente demoram para instanciar.
Para instanciar beans com escopo de aplicativo com o início do aplicativo. O atributo Eager torna-se verdadeiro no bean gerenciado.
@ManagedBean (eager = true)
@ApplicationScoped
Q # 26) Liste os componentes da tabela de limites de dados do JSF 2.0.
java vs. c ++
Responda: tag é usada para criar a tabela de dados e os componentes da tabela vinculados a dados em JSF consistem em elementos como classificação de coluna (crescente / decrescente), caixas de seleção, paginação.
Q # 27) Liste as diferentes implementações do JSF.
Resposta: As implementações estão listadas abaixo:
Apache MyFaces | Oracle Mojarra | OmniFaces |
---|---|---|
JSF não oferece suporte a serviços de middleware como JAAS, JNDI, JMS e Java Mail | Suporta serviços de middleware como JAAS, JNDI, JMS e Java Mail | |
PrimeFaces | RichFaces | ICE Faces |
Q # 28) Explique os atributos imediatos e renderizados em JSF.
Responda: Quando o valor booleano de um atributo imediato for definido como verdadeiro, ele forçará conversões, eventos e processamento de validação durante a fase de solicitação do ciclo de vida do JSF.
Atributo renderizado decidiria que o componente deve ser renderizado ou não na página de visualização, ele usa literais aritméticos e operadores com expressão rvalue e não com expressão lvalue.
Q # 29) Liste os benefícios das tags da tabela de dados JSF.
Responda: As tags da tabela de dados JSF são usadas para exibir dados relacionais em formato tabular nas páginas de exibição JSF.
Os benefícios oferecidos pelas tags da Tabela de Dados são:
- Para exibir dados, a tabela de dados pode iterar em matrizes ou coleção de valores.
- As tags da Tabela de dados oferecem atributos para modificar seus dados que são exibidos na página de visualização JSF.
Q # 30) Diferencie entre JSF 1.0 e JSF 2.0.
Responda: As diferenças entre os dois são listadas abaixo:
JSF1.2 | JSF 2.0 |
---|---|
Beans gerenciados são registrados em faces-config.xml com JSF 1.2 | As anotações são usadas para registrar beans gerenciados no JSF 2.0 |
No JSF 1.0 Faces Servlet são configurados em web.xml com url-pattern como / faces / * | No JSF 2.0 Faces Servlet são configurados em web.xml com url-pattern como * .xhtml |
O JSF 1.2 foi lançado com EL e o tratamento de visão unificado e aprimorado para remover o acoplamento estreito com JSP. | JSF 2.0 oferece suporte a solicitações GET, novo escopo de visão, uso de anotações, genéricos, inclui facelets como visão padrão no lugar de JSP e manipulação de recursos |
JSF 1.0 usa API para componentes personalizados | JSP foi descontinuado em JSF2.0 e substituído por Facelets (xhtml) |
P # 31) Explique as melhores práticas aplicadas para construir um aplicativo JSF.
Responda: As melhores práticas ou regras a serem seguidas durante o desenvolvimento da web usando JSF relacionadas a vários beans de apoio de escopo são as seguintes:
- Comece com @RequestScoped Bean até que os dados de negócios e o estado sejam perdidos e, em seguida, escolha o próximo escopo de nível superior.
- Para parar de compartilhar dados ou estado entre todos os usuários, evite o escopo @ApplicationScoped.
- Para parar de compartilhar dados ou estado entre todas as guias do navegador, evite @SessionScope.
- Para evitar a perda de dados e estado em solicitações HTTP, evite @RequestScope.
- Os beans com escopo de Visualização, Fluxo, Sessão e Conversação não afetam os usuários.
- Evite chamar a lógica de negócios em beans de apoio JSF de métodos getter.
- Use o conjunto de resultados em uma propriedade de valor.
- O método anotado @PostConstruct é usado para calcular o conjunto de resultados.
Q # 32) Descreva a arquitetura do JavaServer Faces
Responda: JavaServer Faces implementa o padrão de design MVC, os componentes são definidos separadamente, com lógicas diferentes.
- Exibir componente para lógica de apresentação e
- O componente do modelo para lógica de negócios é implementado.
- O componente controlador controla a navegação de uma vista para outra e executa vários métodos de modelo.
Parte do controlador consiste em
- Servlet do controlador, ou seja, FacesServlet
- Arquivo de configuração centralizado, ou seja, faces-config.xml
- Conjunto de manipuladores de eventos para aplicativos da web.
P # 33) Quais são as diferenças entre o JSF e o framework Spring?
Responda: As diferenças entre os dois estão listadas abaixo:
Java Server Faces | Primavera |
---|---|
JSF são usados para criar interfaces de usuário baseadas em componentes para aplicativos da web. | Spring usa DispatcherServlet e padrão de design model-view-controller para aplicativo da web. |
Possui uma estrutura de interface de usuário madura, abrangente e rica em componentes de servidor de ciclo de vida | Spring oferece estrutura de aplicativo para aplicativos autônomos, da Web e distribuídos. |
JSF permite integração com HTML, JSP no desenvolvimento de componente de visão do controlador de visão de modelo. | Velocidade, marcador livre etc são usados para o componente de visualização com o framework Spring |
Não possui suporte pré-definido para integrar JDBC, EJBs, Hibernate e RMI | Oferece suporte predefinido para JDBC, EJB, Hibernate, RMI etc. |
JSF é uma estrutura de peso pesado | A primavera é uma estrutura leve |
Tem mais dependência de API e não tem suporte para implementações POJO | Possui implementações POJO e menos dependência de API. |
Conclusão
JavaServer Faces é uma estrutura baseada na web Java que projeta componentes de interface de usuário usando beans gerenciados, beans de apoio, Facelets e outras bibliotecas personalizadas, como faces primárias ou faces de gelo.
Arquitetos de aplicativos, desenvolvedores, componentes e autores de páginas devem estar bem familiarizados com vários frameworks, como Java Server Faces, além de outros frameworks como Spring, Hibernate e Struts.
Este tutorial de perguntas da entrevista JSF ajuda você a se preparar para a maioria das entrevistas JSF.
Leitura recomendada
- 20 principais programas de entrevista em Java para programação e codificação de entrevista
- Perguntas e respostas da entrevista JSP (Atualizado em 2021)
- Mais de 30 perguntas e respostas da entrevista com o servlet TOP (LISTA 2021)
- Top 50+ Core Java Entrevista Perguntas e Respostas
- Mais de 30 perguntas da entrevista com as principais coleções de Java (2021 LIST)
- 25 melhores estruturas e ferramentas de teste de Java para teste de automação (Parte 3)
- Mais de 20 perguntas e respostas para entrevistas em .NET
- Perguntas e respostas da entrevista