Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 1 1. __________________ é a tecnologia que gerencia a memória alocada para um programa, a fim de liberar objetos que não estão sendo utilizados. Complete a questão escolhendo um dos itens a sequir: Java Virtual Machine Garbage Collector Java Clean Java Collector Garbage Drunk Explicação: O coletor de lixo, ou Garbage Collector, elimina da memória os objetos que não podem mais ser referenciados. 2. Considerando que as variáveis inteiras a e b foram previamente declaradas e inicializadas, qual das opções seguintes apresentaria erro de compilação para o comando for? for(a=1;b >= a*2;b--) for(a=1,b=5; a < b ;a++,b--) for(; ++a < b-- ;) for(a=1; a = 10; a++) for(; a <= b;) Explicação: No comando for, a seção de teste aceita apenas um valor booleano, e não inteiro, como ocorre em a=10. Lembrando que a comparação é feita com ==. 3. Qual das opções abaixo não é um tipo primitivo Java? int boolean double float text Explicação: não existe tipo primitivo text 4. Indique a opção que apresenta apenas operadores relacionais. Operadores >=, <, == e != Operadores +, -, < e ^ Operadores >, <, = e ! Operadores &, |, ^ e ! Operadores +, -, * e / Explicação: Operadores relacionais analisam relações entre números, podendo ser >, <, >=, <=, == ou !=. 5. Qual das IDEs abaixo não implementa código java? BlueJ Netbeans JDelphi Eclipse Jcreator Explicação: Jdelphi nem é uma IDE 6. Considerando o código seguinte, em Java, quais os valores de x,y e w, respectivamente? int a = 5, b = 32, c = 7; boolean x, y, w; x = (b > a) && (c > b); y = (b < c) || (a < b - c); w = (a + c < b) && !(c > a); false, true e false true, true e false false, true e true true, false e false true, false e true Explicação: T && F -> F, F || T -> T, T && !T -> T && F -> F . Quando existe a necessidade de reescrever um método herdado da classe pai, mantendo a mesma assinatura que o método original, incluindo mesmo nome, mesmo tipo de dado de retorno e mesma lista de parâmetros, estamos nos referindo a que técnica? Herança Agregação Encapsulamento Sobrescrita Sobrecarga Explicação: O polimorfismo, ou sobrescrita, consiste na possibilidade de recriar um método herdado, mantendo sua assinatura, o que é diferente de sobrecarga, onde são utilizadas múltiplas assinaturas para um mesmo método ou função. 2. Qual a função do encapsulamento? Impedir o acesso direto a um atributo. Cria novos objetos. Instanciar um objeto dentro de classes privadas. Fazer a transferência de dados segura entre usuário e servidor. Fazer uma conexão entre usuário e servidor. Explicação: Tradicionalmente o encapsulamento é feito com o uso de getters e setters públicos para o controle do acesso aos atributos privados. 3. O tipo de visibilidade que permite acesso aos recursos da príopria Classe e seus descendentes é: private void protected inner public Explicação: protected 4. Quando falamos das ações que um objeto pode realizar estamos nos referindo a: Atributos Nível de Acesso Métodos Herança Agrupamentos Explicação: Os elementos básicos de uma classe são os métodos, definindo ações que podem ser executadas, e atributos, com as características físicas do objeto que será instanciado. 5. Em termos de herança, em determinadas situações é necessário acessar um método do pai a partir do método de mesmo nome do filho, quando tratamos de uma operação sobrescrita no processo de polimorfismo. Qual palavra reservada do Java permite este acesso? extends super this new implements Explicação: A palavra super é utilizada quando desejamos acessar um método existente no pai ou outra superclasse da linha hierárquica, podendo ser utilizado inclusive em construtores. 6. Acerca de interfaces, na sintaxe Java, qual a informação correta? Define regras para o comportamento de classes de uma mesma família. Deve ser definida com o uso de abstract class. Permite a definição de métodos concretos. É implementada pelas classes com o uso de extends. É um elemento totalmente abstrato, com um conjunto de assinaturas de métodos. Explicação: Uma interface é definida pela palavra interface e implementada com o uso de implements. Contém apenas assinaturas de métodos que podem ser implementados por qualquer classe, diferentemente de classes abstratas, que definem regras para uma família específica de classes descendentes. Aula 3 1. Quando se cria um programa de computador em Java, há possibilidade de ocorrerem erros imprevistos durante sua execução. Esses erros são conhecidos como exceções e podem ser provenientes de falhas na lógica ou acesso a dispositivos ou arquivos externos. As exceções, portanto, ocorrem quando algo imprevisto acontece, e elas podem ser provenientes de erros de lógica ou acesso a recursos que talvez não estejam disponíveis. Sobre o tratamento de exceções em Java, assinale a afirmativa INCORRETA. As exceções em Java são fixas e não é possível definir novas exceções. A cláusula try sempre é executada, mas a sequencia completa pode ser interrompida por uma exceção. Uma exceção é sempre um objeto do tipo Throwable. A cláusula finally é sempre executada, mesmo ocorrendo o fluxo em um bloco try/catch. A cláusula catch nem sempre é executada. Explicação: No Java é possível definir exceções de forma muito simples, bastando derivar da classe Exception ou de suas descendentes. 2. A biblioteca Java apresentam diversos tipos de estruturas de coleção, através do framework Collections. Uma destas estruturas funciona da mesma forma que uma tabela, com o relacionamento entre uma chave única e um conjunto de dados. Qual é esta estrutura? HashMap Vector ArrayList Collection List Explicação: O uso de HashMap viabiliza a construção de coleções de pares chave-valor, onde as chaves não permitem duplicidade. 3. Qual das palavras reservadas abaixo não fazem parte do tratamento de excessões? catch finally try out throw Explicação: out 4. A linguagem Java traz algumas palavras específicas para o tratamento de execeções, definindo o controle de fluxo para estas situações. Qual palavra é utilizada para definir um bloco de execução obrigatória, mesmo que na ocorrência de exceção? throw finally throws try catch Explicação: O comando try (tentar) serve para definir um bloco protegido, sendo o fluxo de exceção desviado para catch, e finally executado de forma obrigatória. O comando throw lança uma exceção, e o comando throws ecoa para o chamador do método. 5. Qual das opções abaixo não é uma descendente de Collection? Vector LinkedList Arraylist HashList HashMap Explicação: HashList não é uma descente de Collection 6. Acerca das anotações, é correto afirmar: É apenas um tipo de comentário que surgiu na versão 5 do Java. São metadados anexados aos elementos de programaçãoque podem ser recuperados através de reflexividade computacional. São interfaces comuns, que devem ser implementadas pelas classes com o uso de implements. Não permitem a definição de valores default, e qualquer parâmetro definido precisa ser preenchido durante a utilização. São classes que servem para guardar lembretes durante o processo de programação. Explicação: As anotações são metadados não serializáveis que podem ser anexados aos elementos de programação para o reconhecimento posterior a partir de ferramentas externas. Não se trata de comentários simples, a definição é feita com o uso de @interface e elas aceitam valores default. Aula 4 1. As duas bibliotecas para GUI oferecidas pelo JDK trabalham com o uso de conteineres, os quais agrupam componentes visuais sobre eles com o uso de componentes do tipo Layout. Qual Layout trabalha com as posições North, South, East, West e Center? FlowLayout GridBagLayout BorderLayout GridLayout BoxLayout Explicação: O correto seria BorderLayout, o qual aceita apenas um componente em cada uma das cinco posições, mas este componente pode ser um painel, com outro layout, como para adicionar os botões de OK e Cancela na posição South, bastando colocá-los em um Panel com FlowLayout. 2. Existem diversas bibliotecas para criação de interfaces gráficas com uso de Java, e duas delas já estão presentes no JDK. Quais são elas? jdbc e swing swt e swing awt e swing awt e swt awt e jdbc Explicação: As bibliotecas seriam awt e swing. O pacote swt é voltado para criação de GUI, mas relacionado à IBM, e não ao JDK padrão, e com relação ao jdbc, não se refere a janelas, mas à conexão e manuseio do banco de dados. 3. Qual gerenciador de layout Swing do Java possui essas 5 regiões de distribuição de elementos: north, south, east, west, and center; Spring Layout Border Layout Card Layout Grid Layout Flow Layout Explicação: Border 4. Entre os diversos elementos ouvintes disponibilizados pelas bibliotecas gráficas do Java, qual deles poderia ser utilizado para acompanhar o movimento do mouse sobre o componente? ActionListener MouseMotionListener TextListener MouseListener FocusListener Explicação: Para acompanhar o mouse deve ser utilizado MouseMotionListener, e a implementação de seus métodos mouseMoved, para movimentos sem o uso do botão pressionado, e mouseDragged, para situações de tratamento de arraste. 5. Qual componente gráfico deve ser utilizado para representar opções mutuamente exclusivas em uma janela de cadastro? JCheckBox JTree JButton JLabel JRadioButton Explicação: O uso de JRadioButton permite a definição de opções mutuamente exclusivas, ou seja, se uma é marcada, as demais são desmarcadas. 6. As interfaces ouvintes servem para a captura de eventos no ambiente gráfico criado com o uso de Java. Qual ouvinte deve ser utilizado para a captura do clique sobre um botão ou item de menu? ItemListener FocusListener KeyListener ActionListener ChangeListener Explicação: Eventos de clique, como estes, são capturados com o uso de ActionListener e a implementação de seu único método, o actionPerformed. Aula 5 1. Diversos eventos podem ser utilizados no processo de validação de formulários. Qual deles deve ser utilizado para efetuar críticas quando o valor de um campo é alterado? onchange onfocus onclick onsubmit onblur Explicação: O evento onchange ocorre na mudança do atributo value, não importando a origem desta mudança. 2. As tags responsáveis por quebra de linha, criação de parágrafo e criação de formulários são, respectivamente: < br > < p > < h1 > < h1 > < p > < br > < p > < br > < form > < form > < br > < h1 > < br > < p > < form > Explicação: As tags seriam br (break), p (paragraph) e form. A tag h1 define uma fonte de título grande. 3. Tag utilizada para definir o cabeçalho de uma página HTML: foot title body head br Explicação: 4. Escolha qual opção melhor define a sentença abaixo: "Linguagem de marcação utilizada na construção de páginas na Web" : java html pyton css php Explicação: HTML 5. Escolha qual opção melhor define a sentença abaixo: "Mecanismo para adicionar estilo a um documento web" : php java pyton css html Explicação: css 6. Escolha qual opção melhor define a sentença abaixo: "Linguagem de programação interpretada estruturada, de script em alto nível com tipagem dinâmica fraca e multiparadigma, amplamente utilizada em páginas Web" : html javascript css PHP java Explicação: javascript Aula 6 1. Preencha as lacunas e, em seguida, assinale a alternativa correta. Uma JSP consiste em uma combinação de ___________ e ___________ , que contêm o código executável, e a marcação estática, como ____________ ou ____________ . O código contido na JSP é identificado e executado pelo ___________ , e a página resultante é enviada para o cliente. tags JSP / HTML / Java / Java Script / compilador tags JSP / HTML / Java / Java Script / servidor tags JSP / HTML / Java / XML / servidor tags JSP / scriplets / HTML / XML / compilador tags JSP / scriplets / HTML / XML / servidor Explicação: Os arquivo JSP compreendem diretivas e trechos Java (Scriptlets) encapsulados em documentos XML, XHTML ou HTML, e são trasnformados em Servlet pelo container para a subsequente execução no servidor. 2. Pode-se dizer que está INCORRETO sobre as tecnologias Servlet/JSP: Não possuem o método main, pois estão sob controle dos contêineres. Para criar um Servlet é necessário criar uma classe derivada de HttpServlet. As páginas JSP são mais voltadas para o Designer, e os Servlets para o Programador. Toda página JSP é transformada em um Servlet. JSP pode ser processado sem a utilização de um contêiner, e Servlet necessita de um contêiner. Explicação: Tanto páginas JSP quanto Servlets são executados no contêiner Web, sendo o JSP transformado em Servlet por este contêiner antes da execução. 3. Qual das opções abaixo não representa a afirmação abaixo: "Tecnologia Java para a criação de páginas web com programação no servidor." : JSS JSF ASP PHP JSP Explicação: JSP 4. Qual das opções abaixo não representam frameworks para o ambiente Java Web: Java Server Faces (JSF) Struts Spring Netbeans Hibernate Explicação: Netbeans é uma IDE não um framework 5. Qual das opções abaixo não representa a afirmação abaixo: "classe Java usada para estender as funcionalidades de um servidor." Servlet Struts Spring Java Server Faces (JSF) Hibernate Explicação: Servlet 6. Classe utilizada em páginas JSP para controle de sessão: HttpCookieId HttpSession HttpSessionId SessionId HttpCookie Explicação: HttpSession Aula 7 1. Qual o banco de dados que vem como padrão do NetBeans, sendo totalmente construído em Java?DB2 Oracle MS Access Informix Derby Explicação: Por padrão, o NetBeans traz suporte ao banco Derby, o qual é totalmente construído em Java e não depende da instalação de um servidor proprietário. 2. A linguagem Java apresenta como middleware padrão para acesso a bancos de dados o JDBC, cuja utilização envolve vários passos, indo desde o registro do Driver até a recepção da consulta em ResultSets. Neste processo podem ocorrer duas exceções principais, no que se refere ao uso do JDBC, as quais são: SQLException e ClassNotFoundException SQLException e ServletException ClassNotFoundException e ServletException ClassNotFoundException e ArithmeticException ServletException e ArithmeticException Explicação: Pode ocorrer SQLException nas operações sobre o banco, e ClassNotFoundException ao instanciar o Driver. 3. Java Database Connectivity(JDBC) consiste de um conjunto de classes e interfaces (API) escritas em Java que fazem o envio de instruções SQL para qualquer banco de dados relacional. Dentre as alternativas abaixo, assinale INCORRETA referente a Java Database Connectivity(JDBC): O PreparedStatement é um descendente de Statement que aceita parametrizações. É possivel acessar Banco de Dados que não possuem Driver JDBC próprio através da ponte JDBC-ODBC. Statement trabalha como um executor de comandos SQL. O executeQuery é um método da classe Connection para execução de uma consulta. O método close() da classe Connection fecha uma conexão com o banco de dados. Explicação: O método executeQuery pertence à classe Statement. 4. Baseado na linha de comando abaixo, marque qual deve ser o comando seguinte: Statement st = Conexao.getConection().createStatement(); List< Aluno > ls = st.prepareStatement("select * from ALUNOS"); ResultSet rs = st.executeUpdate("select * from ALUNOS"); List ls = st().executeUpdate("select * from ALUNOS"); ResultSet rs = st.executeQuery("select * from ALUNOS"); List< Aluno > ls = st.executeQuery("select * from ALUNOS"); Explicação: Após criar o executor de SQL (Statement), o próximo passo pode ser uma consulta, efetuada a partir do método executeQuery, com o retorno do resultado na forma de um ResultSet. 5. Os comandos em sql, SELECT, UPDATE, INSERT são comandos do tipo: DMZ DDT DTL DML DDL Explicação: DML, Data Manipulation Language, ou Linguagem de Manipulação de Dados. 6. Os comandos em sql, CREATE, ALTER, DROP, RENAME e TRUNCATE, são comandos do tipo: DML DTL DDL DDT DMZ Explicação: A DDL, Data Definition Language ou LInguagem de Definição de Dados, apesar do nome não interage com os dados e sim com os objetos do banco. São comandos desse tipo o CREATE, o ALTER e o DROP. 7. Qual das opções abaixo não representa a afirmação abaixo: "Conjunto de classes e interfaces (API) escritas em Java que fazem o envio de instruções SQL para qualquer banco de dados relacional" JSP JLO JSF JDBC JVC Explicação: JDBC 8. Supondo que você utilize um Managed Bean que funcione como DAO, através do nome "clienteDAO", e que o mesmo tenha um método "findAll" sem parâmetros para o retorno de toda a base de clientes, como seria definido um componente DataTable alimentado pelo mesmo? < h:dataTable value="#{clienteDAO.obterTodos()}" var="c" > < h:dataTable value="#{clienteDAO.findAll()}" var="c" > < h:dataTable value="#{produtoDAO.obterTodos()}" var="p" > < h:dataTable var="#{clienteDAO.findAll()}" value="c" > < h:dataTable var="#{produtoDAO.findAll()}" value="p" > Explicação: Na sintaxe do DataTable, o atributo value deverá receber a lista de origem, fornecida a partir de clienteDAO.findAll, e o atributo var nomeia a variável que percorre o conjunto, assumindo os valores de cada entidade sequencialmente. Aula 8 1. Definição da primeira camada MVC: Model Melhoria Método Mecânica Manutenção Explicação: Model, de Model-View-Controller 2. Marque a opção que contém apenas estilos arquiteturais no modelo Mud to Structure: Microkernel, Reflexiva e MVC Camadas, Pipes/Filters e Blackboard Camadas, Blackboard e Broker MVC, PAC e Camadas MVC, PAC e Broker Explicação: O modelo Mud to Structure pode ser observado nos estilos Camadas, Pipes/Filters e Blackboard. O estilo Broker segue o modelo de Sistemas distribuídos, enquanto PAC e MVC seguem o modelo de Sistemas Interativos, e, Microkernel e Reflexiva seguem o modelo de Sistemas Adaptáveis. 3. A arquitetura MOM (Message Oriented Middleware) se torna muito importante no mundo corporativo ao permitir que sejam sequenciados diversos pedidos para atendimento de forma assíncrona, pois as solicitações são enviadas para filas de mensagens com a finalidade de serem processadas posteriormente, sem bloquear o cliente. Esta é um típico exemplo de qual padrão arquitetural? PAC Broker MVC Blackboard Event-Driven Explicação: Os sistemas de mensageria são baseados em Middleware Orientado a Mensagens (MOM), os quais são assíncronos e guiados por eventos, segundo o padrão Event-Driven. 4. Qual a fase do ciclo de vida do JSF onde a árvore de componentes é montada ao nível do servidor? Process Validations Render Response Update Model Values Apply Requests Restore View Explicação: A fase inicial do ciclo de vida é a Restore View, onde é recebida a requisição HTTP e montada a árvore de objetos em memória. 5. Definição da terceira camada MVC: Corrente Cadastrado Componente Controller Concorrente Explicação: Controller, de Model-View-Controller 6. Em uma arquitetura MVC com uso de JSF, qual seria o único tipo de componente que poderia instanciar um objeto do padrão DAO? Controlador Facelet Managed Bean Faces Servlet Entidade Explicação: Apenas os controladores, presentes na camada Control, podem instanciar elementos do tipo DAO, pertencentes à camada Model, e solicitar que estes últimos efetuem operações sobre o banco de dados. As entidades são o elemento de transporte, transitando entre as camadas, e os componentes JSF pertencem à camada View. 7. Definição da seguna camada MVC: Vertiginoso Virtual Verdadeiro Verificável View Explicação: View, de Model-View-Controller 8. Marque a opção que apresenta apenas estilos arquiteturais no modelo de Sistemas Interativos. Microkernel e Reflexiva Microkernel e MVC MVC e PAC PAC e Broker Broker e Blackboard Explicação: O modelo Mud to Structure pode ser observado nos estilos Camadas, Pipes/Filters e Blackboard. O estilo Broker segue o modelo de Sistemas distribuídos, enquanto PAC e MVC seguem o modelo de Sistemas Interativos, e, Microkernel e Reflexiva seguem o modelo de Sistemas Adaptáveis. Aula 9 1. Os EJBs do tipo Session Bean podem ser divididos em três tipos, sendo que um deles permite a ocorrência de apenas uma instância por máquina virtual. Qual é este tipo? Message Driven Singleton Entity Stateful Stateless Explicação: Os EJBs do tipo Sngleton seguem o padrão de desenvolvimentode mesmo nome, ocorrendo apenas uma vez por JVM, e mantendo uma única referência, mesmo em ambientes clusterizados. 2. Arquivo de configuração necessário para a definição das conexões no JPA: context.xml web.xml readme.txt manifest persistence.xml Explicação: O arquivo persistence.xml guarda as configurações JDBC e definições de unidades de persistência. 3. Entre os diferente tipos de EJBs, os MDBs são responsáveis pelo comportamento assíncrono baseado em mensagerias. Assinale a alternativa correta com relação aos MDBs. Apresentam um único método para tratamento de mensagens denominado onMessage. Precisam implementar a interface SessionListener. São definidos pela anotação @Message. Necessitam de interfaces @Local e @Remote. Eles podem guardar informações de estado, como os Statefull Session Beans. Explicação: Os MDBs são componentes EJB para tratamento assícrono de mensagens, através do método onMessage, lidando diretamente com as mensagerias via JMS, sem interfaces remotas ou locais, e sem a possibilidade de guardar estado. 4. Os dois tipos de arquiteturas de envio e recepção que o JMS pode visualizar são: Filas e Tópicos Síncrona e Assíncrona Filas e Assinaturas Assinaturas e Tópicos Get e Post Explicação: As estruturas de mensagerias, ambas assíncronas, são Filas, com vários emissores e um consumidor sequencial, e Tópicos, com vários publicadores e vários assinantes. 5. Assinale a alternativa INCORRETA acerca do JPA: Trabalha com código anotado Java. Precisa de um arquivo de configuração denominado persistence.xml. É o mecanismo padrão de ORM do Java. Permite mapear os relacionamentos da base de dados. Com a adoção do JPA eliminamos a necessidade do JDBC. Explicação: Com o JPA não eliminamos o uso de JDBC, pois o que é feito é a geração dos comandos SQL de forma automatizada a partir das requisições efetuadas pelo EntityManager, sempre utilizando as informações transmitidas pelas classes anotadas. 6. Suponha que você precisa implementar uma funcionalidade de um novo sistema de Telemarketing que envolve o controle da quantidade de chamadas tratadas pelo operador enquanto estiver logado. Qual o tipo de EJB seria mais apropriado para acumular a quantidade de chamadas? JPA Stateful Session Bean Stateless Session Bean MDB Entity Bean Explicação: Por se tratar de uma chamada a um método de negócios síncrona, temos a clara utilização de um Session Bean, e como deve guardar o estado, no caso a quantidade e chamdas, precisamos de um Stateful Session Bean. 7. O tipo de bean utilizado para tratamento de regras de negócio síncronas, onde ocorre a necessidade de guardar informações entre chamadas sucessivas seria: Async Queued Bean Stateful Session Bean Entity Bean Message Driven Bean Stateless Session Bean Explicação: Os componentes EJB do tipo Session são voltados para o tratamento de regras de negócio de forma síncrona, sendo o Stateless sem a guarda de estado e o Stateful com a guarda de estado. 8. Complete as lacunas no trecho de código-fonte abaixo com os termos corretos: __________ emf = Persistence.createEntityManagerFactory("PU"); __________ em = emf.createEntityManager(); em.getTransaction().begin(); c = new Curso(3, "EE"); em.__________(c); em.getTransaction().commit(); EntityManager; Command; insert EntityFactory; EntityManager; save EntityManagerFactory; EntityManager; persist Database; Entity; put Connection; Statement; execute Explicação: Um elemento essencial no JPA é a classe EntityManager, responsável pelo manuseio das diversas entidades. Objetos desta classe são gerados a partir do EntityManagerFactory, e o método persist viabiliza a gravação de uma entidade no banco de dados. Aula 10 1. Ao solicitar a criação de entidades JPA a partir do banco de dados, no NetBeans, é solicitado que se defina um pool de conexões para o acesso a este banco. Qual tecnologia Java é utilizada para o registro e localização deste pool? JNDI SWING EJB JDBC JMS Explicação: O serviço de nomes e diretórios do Java é denominado JNDI, e serve para o registro e localização de objetos como pools de conexão e filas de mensagerias, entre diversos outros. 2. O ferramental do NetBeans permite gerar de forma automática os EJBs responsáveis por invocar as diversas operações a serem efetuadas no banco a partir de entidades JPA. Ao fazer isto, ele segue um padrão de desenvolvimento denominado: Front Control Adapter Singleton Session Facade Intercept Filter Explicação: É utilizado o padrão Session Facade, onde os Stateless Session Beans servem de fachada para as operações de banco intermediadas pelo JPA. 3. Assinale a alternativa correta. As transações nos EJBs são controladas através do JTA (Java Transaction API). Em termos da arquitetura MVC, os EJBs pertencem à camada View. Os Managed Beans podem instanciar elementos do tipo EntityManager sem quebrar as regras do modelo MVC. Na arquitetura MVC, as entidades JPA devem acessar os Managed Beans com o uso de @Inject. Uma anotação @Id seria utilizada para acessar um EJB específico do pool de EJBs. Explicação: Na arquitetura MVC, JSF estaria na View, EJB na Control e JPA na Model. Nenhum componente da camada View deve acessar a camada Model sem passar pela Control, e nenhuma camada conhece os componentes de uma camada superior, ou seja, a Model não conhece a Control e a Control não conhece a View. A anotação @Id serve para identificr o campo chave de uma entidade JPA, e não é possível determinar o EJB que será acessado no pool. 4. Ao gerar diversas camadas de um aplicativo corporativo, com uso dos processos de automação do NetBeans, você notou que os Session Beans vinham com a anotação PersistenceContext sobre alguns atributos. Qual a função desta anotação? Configurar o Session Bean para que possa trabalhar com processos assíncronos. Dar suporte aos elementos de persistência do JSF. Indicar qual a interface local para uso com o EJB. Definir uma fachada abstrata para as operações de banco de dados. Instanciar o EntityManager, efetuando a relação com a unidade de persistência correta. Explicação: A anotação citada serve para instanciar o EntityManager, efetuando a relação com a unidade de persistência correta, como no exemplo seguinte. @PersistenceContext(unitName = "ExemploCompleto-ejbPU") private EntityManager em; Note que a automatização do NetBeans gera uma classe abstrata de base, agrupando as operações de banco, e concretiza estas operações, baseado em Generics, no descendente do tipo Session EJB, onde é também concretizada também a relação com o banco de dados, instanciando o EntityManager com a anotação do exemplo. 5. Na criação de um Managed Bean, a utilização da anotação SessionScoped serve para: Solicitar a autenticação do usuário para executar o Managed Bean. Definir o nome que será utilizado pela página JSF para acesso ao Managed Bean. Permitir o acesso a um Session Bean. Manter o valor do Managed Bean entre chamadas sucessivas. Remover os valores do Managed Beans no carregamento da página. Explicação: Ao utilizar ScopedSession estamos definindo o escopo de sessão para o Managed Bean, o que manterá seus valorescarregados entre chamadas sucessivas. Um exemplo é apresentado a seguir. @Named(value = "produtoMB") @SessionScoped public class ProdutoMB extends Produto{ 6. No ambiente JEE, a anotação PersistenceContext é utilizada para: Definir um EJB do tipo Stateless. Acessar um EJB a partir de um Managed Bean. Acessar um Managed Bean a partir de outro no mesmo contexto. Instanciar um EntityManager a partir da unidade de persistência. Efetuar a conexão com as filas de uma mensageria a patir do MDB. Explicação: O uso da anotação PersistenceContext permite instanciar um EntityManager a partir do nome da unidade de persistência, conforme as definições efetuadas no arquivo persistence.xml. 7. Em uma arquitetura MVC, com uso de JSF e EJB, temos um componente para comunicar com o Session EJB, denominado ProdutoControlMB, anotado com ApplicationScoped, e outro para encapsular a entidade denominado ProdutoMB, anotado com SessionScoped. Segundo esta configuração, podemos afirmar que: O componente ProdutoMB pertence à camada Model. Os EJBs do tipo Session ficarão na camada Model. Existirá uma instância de ProdutoControlMB para cada usuário logado. Temos uma instânica de ProdutoControlMB para todo o aplicativo e uma de ProdutoMB para cada usuário logado. A chamada ao EntityManager deve ser feita em ProdutoControlMB. Explicação: Nesta arquitetura temos uma camada Model com o JPA e as entidades, seguido da camada Control com os Session EJBs, funcionando de fachada para a Model. Em seguida temos a camada View com uso de JSF, onde encapsulamos a chamada aos EJBs através de ProdutoControlMB e as entidades através de ProdutoMB, de forma a compatibilizar com as necessidades do JSF para utilização. Com o uso das anotações de escopo citadas, temos uma instânica de ProdutoControlMB para todo o aplicativo e uma de ProdutoMB para cada usuário logado. 8. Qual anotação deve ser utilizada para efetuar o acesso a um Managed Bean a partir de outro? SessionScoped Named Inject EJB ApplicationScoped Explicação: Enquanto @Named permite definir o nome do Managed Bean, com @Inject podemos acessá-lo através do nome definido anteriormente. Em uma arquitetura MVC com uso de JSF, JPA e EJB, em que camadas estariam, respectivamente, os componentes de cada uma destas tecnologias? View, Control e Model Model, Control e View Control, Model e View View, Model e Control Model, View e Control Respondido em 07/10/2020 05:56:48 Explicação: Os componentes JSF irão compor a interface na camada View, enquanto o acesso ao banco será feito via JPA na camada Model, e as regras de negócio serão implementadas pelos EJBs na camada Control. 2 Questão Ao gerar diversas camadas de um aplicativo corporativo, com uso dos processos de automação do NetBeans, você notou que os Session Beans vinham com a anotação PersistenceContext sobre alguns atributos. Qual a função desta anotação? Configurar o Session Bean para que possa trabalhar com processos assíncronos. Definir uma fachada abstrata para as operações de banco de dados. Instanciar o EntityManager, efetuando a relação com a unidade de persistência correta. Indicar qual a interface local para uso com o EJB. Dar suporte aos elementos de persistência do JSF. Respondido em 07/10/2020 05:56:54 Explicação: A anotação citada serve para instanciar o EntityManager, efetuando a relação com a unidade de persistência correta, como no exemplo seguinte. @PersistenceContext(unitName = "ExemploCompleto-ejbPU") private EntityManager em; Note que a automatização do NetBeans gera uma classe abstrata de base, agrupando as operações de banco, e concretiza estas operações, baseado em Generics, no descendente do tipo Session EJB, onde é também concretizada também a relação com o banco de dados, instanciando o EntityManager com a anotação do exemplo. 3 Questão Na criação de um Managed Bean, a utilização da anotação SessionScoped serve para: Permitir o acesso a um Session Bean. Solicitar a autenticação do usuário para executar o Managed Bean. Manter o valor do Managed Bean entre chamadas sucessivas. Remover os valores do Managed Beans no carregamento da página. Definir o nome que será utilizado pela página JSF para acesso ao Managed Bean. Respondido em 07/10/2020 05:56:56 Explicação: Ao utilizar ScopedSession estamos definindo o escopo de sessão para o Managed Bean, o que manterá seus valores carregados entre chamadas sucessivas. Um exemplo é apresentado a seguir. @Named(value = "produtoMB") @SessionScoped public class ProdutoMB extends Produto{ 4 Questão No ambiente JEE, a anotação PersistenceContext é utilizada para: Efetuar a conexão com as filas de uma mensageria a patir do MDB. Acessar um Managed Bean a partir de outro no mesmo contexto. Definir um EJB do tipo Stateless. Instanciar um EntityManager a partir da unidade de persistência. Acessar um EJB a partir de um Managed Bean. Respondido em 07/10/2020 05:57:23 Explicação: O uso da anotação PersistenceContext permite instanciar um EntityManager a partir do nome da unidade de persistência, conforme as definições efetuadas no arquivo persistence.xml. 5 Questão Assinale a alternativa correta. Na arquitetura MVC, as entidades JPA devem acessar os Managed Beans com o uso de @Inject. As transações nos EJBs são controladas através do JTA (Java Transaction API). Os Managed Beans podem instanciar elementos do tipo EntityManager sem quebrar as regras do modelo MVC. Em termos da arquitetura MVC, os EJBs pertencem à camada View. Uma anotação @Id seria utilizada para acessar um EJB específico do pool de EJBs. Respondido em 07/10/2020 06:01:04 Explicação: Na arquitetura MVC, JSF estaria na View, EJB na Control e JPA na Model. Nenhum componente da camada View deve acessar a camada Model sem passar pela Control, e nenhuma camada conhece os componentes de uma camada superior, ou seja, a Model não conhece a Control e a Control não conhece a View. A anotação @Id serve para identificr o campo chave de uma entidade JPA, e não é possível determinar o EJB que será acessado no pool. 6 Questão O ferramental do NetBeans permite gerar de forma automática os EJBs responsáveis por invocar as diversas operações a serem efetuadas no banco a partir de entidades JPA. Ao fazer isto, ele segue um padrão de desenvolvimento denominado: Session Facade Front Control Singleton Adapter Intercept Filter Respondido em 07/10/2020 06:01:36 Explicação: É utilizado o padrão Session Facade, onde os Stateless Session Beans servem de fachada para as operações de banco intermediadas pelo JPA. 7 Questão Qual anotação deve ser utilizada para efetuar o acesso a um Managed Bean a partir de outro? SessionScoped Named Inject ApplicationScoped EJB Respondido em 07/10/2020 06:01:58 Explicação: Enquanto @Named permite definir o nome do Managed Bean, com @Inject podemos acessá-lo através do nome definido anteriormente. 8 Questão Em uma arquitetura MVC, com uso de JSF e EJB, temos um componente para comunicar com o Session EJB, denominado ProdutoControlMB, anotado com ApplicationScoped, e outro para encapsular a entidade denominado ProdutoMB, anotado com SessionScoped. Segundo esta configuração, podemos afirmar que: Os EJBs do tipo Session ficarão na camada Model. Existirá uma instância de ProdutoControlMB para cada usuário logado. Temos uma instânica de ProdutoControlMBpara todo o aplicativo e uma de ProdutoMB para cada usuário logado. O componente ProdutoMB pertence à camada Model. A chamada ao EntityManager deve ser feita em ProdutoControlMB. Respondido em 07/10/2020 06:02:29 Explicação: Nesta arquitetura temos uma camada Model com o JPA e as entidades, seguido da camada Control com os Session EJBs, funcionando de fachada para a Model. Em seguida temos a camada View com uso de JSF, onde encapsulamos a chamada aos EJBs através de ProdutoControlMB e as entidades através de ProdutoMB, de forma a compatibilizar com as necessidades do JSF para utilização. Com o uso das anotações de escopo citadas, temos uma instânica de ProdutoControlMB para todo o aplicativo e uma de ProdutoMB para cada usuário logado. 1a Questão Acerto: 1,0 / 1,0 Quais das seguintes senteças é verdadeira sobre a linguagem Java. Multiplataforma, Fortemente Tipado e Case sensetive Ambiente Windows, Fortemente Tipado e Case Insensetive Multiplataforma, Fracamente Tipado e Case sensetive Multiplataforma, Fortemente Tipado e Case Insensetive Plataforma Windows, Fortemente Tipado e Case sensetive Respondido em 07/10/2020 06:16:16 Explicação: Multiplataforma, Fortemente Tipado e Case sensetive 2a Questão Acerto: 1,0 / 1,0 Podemos dizer que é um modelo para criação de objetos. Classe Herança Conexão Objeto Polimorfismo Respondido em 07/10/2020 06:17:05 Explicação: A classe funciona para os objetos como um "tipo" para uma "variável", pois define o molde ou domínio que será adotado pelos objetos criados. 3a Questão Acerto: 1,0 / 1,0 Acerca das anotações, é correto afirmar: São metadados anexados aos elementos de programação que podem ser recuperados através de reflexividade computacional. São interfaces comuns, que devem ser implementadas pelas classes com o uso de implements. São classes que servem para guardar lembretes durante o processo de programação. Não permitem a definição de valores default, e qualquer parâmetro definido precisa ser preenchido durante a utilização. É apenas um tipo de comentário que surgiu na versão 5 do Java. Respondido em 07/10/2020 06:17:32 Explicação: As anotações são metadados não serializáveis que podem ser anexados aos elementos de programação para o reconhecimento posterior a partir de ferramentas externas. Não se trata de comentários simples, a definição é feita com o uso de @interface e elas aceitam valores default. 4a Questão Acerto: 1,0 / 1,0 Normalmente as GUIs do Java são baseadas em eventos, que são tarefas realizadas quando um usuário faz a interação com algum componente GUI, convertendo as ações do usuário em eventos, Qual das ações abaixo não é um evento: Quando usuário clica com o mouse Quando usuário deixa computador imóvel Quando usuário presisona tecla Esc Quando usuário move o mouse Quando usuário fecha o programa Respondido em 07/10/2020 06:18:59 Explicação: deixa computador parado 5a Questão Acerto: 1,0 / 1,0 No JavaScript, a caixa de mensagem "alert": Exibe apenas uma informação para o usuário. Permite que o usuário insira um nome dentro da caixa de texto. Permite que o usuário insira um nome e/ou um número dentro da caixa de texto. Solicita uma confirmação do usuário, positiva ou negativa. Permite que o usuário insira um número dentro da caixa de texto. Respondido em 07/10/2020 06:19:16 Explicação: Enquanto alert apenas exibe informações, o prompt solicita uma informação no formato texto, e o confirm pede uma resposta do tipo OK ou Cancel. 6a Questão Acerto: 0,0 / 1,0 Para a guarda do estado de uma página em chamadas sucessivas, com uso de tecnologia JSF, deve ser utilizado qual escopo em um Managed Bean? Sem escopo Requisição Aplicação Sessão Visão Respondido em 07/10/2020 06:21:28 Explicação: Com o escopo de sessão (Session), os dados são mantidos no servidor enquanto a conexão estiver ativa. 7a Questão Acerto: 1,0 / 1,0 O uso de um DAO (Data Access Object) em um código tem a função de: Prover uma interface para acesso a um banco de dados ou outro mecanismo de persistência. Prover uma camada de segurança para a aplicação. Gerenciar a geração de logs de acesso com API específica. Encapsular o usuário e senha de acesso ao banco de dados relacional. Impedir que uma classe tenha mais de um objeto instanciado. Respondido em 07/10/2020 06:23:05 Explicação: O padrão DAO concentra as chamadas SQL, evitando que este tipo de código se perpetue ao longo da aplicação. 8a Questão Acerto: 0,0 / 1,0 Com relação aos conceitos de arquitetura de aplicações, é correto afirmar que o MVC é um padrão de desenvolvimento cuja finalidade é definir uma interface na mesma camada da "lógica da aplicação". que garante que uma lógica de negócios possa ser acessada e visualizada por uma única interface. de arquitetura de aplicações que visa separar a "lógica da aplicação", a "interface do usuário" e a "persistência de dados". de operação dirigida para uma classe e não para um objeto individual. de objeto que executa uma operação quando ele recebe uma solicitação (mensagem) correspondente de um outro objeto. Respondido em 07/10/2020 06:21:49 Explicação: A arquitetura MVC divide o aplicativo em 3 camadas: Model (Persistência), Control (Regras de Negócio) e View (Interfaces). Não pode ocorrer contato entre a View e a Model. 9a Questão Acerto: 1,0 / 1,0 Complete as lacunas no trecho de código-fonte abaixo com os termos corretos: __________ emf = Persistence.createEntityManagerFactory("PU"); __________ em = emf.createEntityManager(); em.getTransaction().begin(); c = new Curso(3, "EE"); em.__________(c); em.getTransaction().commit(); EntityManagerFactory; EntityManager; persist EntityManager; Command; insert Database; Entity; put Connection; Statement; execute EntityFactory; EntityManager; save Respondido em 07/10/2020 06:25:08 Explicação: Um elemento essencial no JPA é a classe EntityManager, responsável pelo manuseio das diversas entidades. Objetos desta classe são gerados a partir do EntityManagerFactory, e o método persist viabiliza a gravação de uma entidade no banco de dados. 10a Questão Acerto: 1,0 / 1,0 Ao solicitar a criação de entidades JPA a partir do banco de dados, no NetBeans, é solicitado que se defina um pool de conexões para o acesso a este banco. Qual tecnologia Java é utilizada para o registro e localização deste pool? JMS SWING JDBC JNDI EJB Respondido em 07/10/2020 06:25:41 Explicação: O serviço de nomes e diretórios do Java é denominado JNDI, e serve para o registro e localização de objetos como pools de conexão e filas de mensagerias, entre diversos outros.
Compartilhar