Baixe o app para aproveitar ainda mais
Prévia do material em texto
02/08/2023, 20:54 Avaliação Final (Discursiva) - Individual about:blank 1/3 Prova Impressa GABARITO | Avaliação Final (Discursiva) - Individual (Cod.:826932) Peso da Avaliação 4,00 Prova 66516567 Qtd. de Questões 2 Nota 10,00 Uma das principais classes em uma aplicação desenvolvida pelo framework Java Server Faces (JSF) são os Managed Beans, os quais servem para intermediar as camadas View e Model da aplicação. Neste sentido, uma das funcionalidades de uma classe Managed Bean é receber requisições da tela e enviá-las para a camada Model. Neste contexto, analise o código-fonte a seguir e disserte explicando os códigos-fonte das linhas 9, 10 e 17. Resposta esperada Na linha 9, é especificada a nomenclatura que o Managed Bean será chamado na página HXTML. Na linha 10, é especificada a anotação "SessionScoped", definindo que a classe será criada em memória (instanciada) uma única vez enquanto durar a sessão do usuário atual, e quando fechada a sessão do usuário, este objeto será eliminado da memória (destruído). Na linha 17, é implementado um método que retorna o valor do atributo "mensagem" do Managed Bean "HelloWorldSessionMB", imprimindo no console o valor do atributo quando for método invocado. Minha resposta A linha 9 do código-fonte define o nome pelo qual o Managed Bean será identificado na página HTML. Essa especificação possibilita a comunicação direta entre a página e o Managed Bean, utilizando o nome fornecido como referência para acessar suas propriedades e métodos. Na linha 10, encontra-se a anotação "SessionScoped", que determina o escopo da classe do Managed Bean. Essa anotação indica que o objeto será instanciado apenas uma vez durante a sessão do usuário, permanecendo em memória até o encerramento da sessão. Assim, o objeto do Managed Bean estará disponível para uso em várias requisições durante a mesma sessão. A linha 17 apresenta a implementação de um método que retorna o valor do atributo "mensagem" do Managed Bean chamado "HelloWorldSessionMB". Ao ser chamado, esse método exibe o valor VOLTAR A+ Alterar modo de visualização 1 02/08/2023, 20:54 Avaliação Final (Discursiva) - Individual about:blank 2/3 do atributo no console, permitindo a visualização do seu conteúdo durante a execução do programa. Essa funcionalidade pode ser útil para verificar e depurar o valor do atributo em tempo de execução. Retorno da correção Parabéns, acadêmico(a)! Sua resposta atingiu os objetivos da questão e você atingiu o esperado, demonstrando a competência da análise e síntese do assunto abordado, apresentando excelentes argumentos próprios, com base nos materiais disponibilizados. Confira no quadro "Resposta esperada" a sugestão de resposta para esta questão. Toda classe Managed Bean que implementa uma interface precisa ter implementado todos os métodos da interface. Além disso, podemos utilizar uma anotação para que quando um método específico concluir sua execução, a instância do objeto Managed Bean seja eliminada da memória. Neste sentido, analise o código-fonte da interface a seguir, e então implemente uma classe Managed Bean que implemente esta interface, e tenha um método qualquer que tenha esta anotação, fazendo com que a instância do Managed Bean seja eliminada da memória após sua execução. Resposta esperada O acadêmico deve desenvolver um Managed Bean, conforme segue exemplo, a qual deve ter a anotação “@Stateful” conforme linha 8; “implements Email”, conforme linhas 9 e 10; deve ter implementado os métodos “enviaEmail” e “enviaLoteEmails”, conforme linhas 12 até 20; e deve ter um método com qualquer nomenclatura, mas que tenha a anotação “@Remove” acima do método, conforme linhas 22 e 23. Minha resposta package managedbeans; import java.util.ArrayList; public class TestaCorreio { public TestaCorreio() { } private void run() { Correio correio = new Correio(); correio.enviaEmail("xyz@company.com"); ArrayList lista = new ArrayList<>(); lista.add("abc@company.com"); lista.add("def@company.com"); lista.add("ghi@company.com"); correio.enviaLoteEmails(lista); correio = null; System.out.println("FIM"); } public static void main(String[] args) { TestaCorreio obj = new TestaCorreio(); obj.run(); } } Retorno da correção Parabéns, acadêmico(a)! Sua resposta atingiu os objetivos da questão e você atingiu o esperado, demonstrando a competência da análise e síntese do assunto abordado, apresentando excelentes 2 02/08/2023, 20:54 Avaliação Final (Discursiva) - Individual about:blank 3/3 argumentos próprios, com base nos materiais disponibilizados. Confira no quadro "Resposta esperada" a sugestão de resposta para esta questão. Imprimir
Compartilhar