Prévia do material em texto
Exercício avalie sua aprendizagem Qualquer site precisa de um sistema de navegação adequado, onde temos como exemplo a barra de navegação, posicionada no topo da página, com os links para as páginas, na forma de um menu principal. Através do Bootstrap, temos a classe navbar para a de�nição de uma barra de navegação a partir de uma tag nav, apresentando diversas opções, como uso de tema dark. Qual das a�rmativas seguintes é CORRETA, no que se refere ao componente navbar? Uma das grandes vantagens na utilização do framework Spring é a gerência de segurança através do módulo Spring Security, que oferece diversas formas de autenticação, como OAuth, diretamente no protocolo HTTP ou através de formulários. Ao trabalhar com um aplicativo Web, o processo de autenticação é normalmente feito através de formulários, onde o Spring Security permite a personalização das páginas de login e logout. Analise as a�rmativas, e marque a opção CORRETA acerca da personalização de interfaces na autenticação baseada em formulários. DESENVOLVIMENTO WEB FULL MVC Lupa Aluno: RA Matr.: Disc.: DESENVOLVIMENTO WEB EAD (G) / EX Prezado (a) Aluno(a), Você fará agora seu EXERCÍCIO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 03593CAMADA DE VISÃO 1. A de�nição de uma barra de navegação impede a organização do espaço através de classes como col-sm-8 ou col- sm-4. A classe navbar-nav é aplicada aos itens de uma lista, fazendo com que eles se apresentem como itens de menu. Para demonstrar visualmente qual a página ativa, devemos con�gurar o nav-link como used. De forma geral, a classe navbar-brand é aplicada na opção principal da barra de navegação. A opção navbar-expand-lg é utilizada para preencher todo o espaço vertical com o conteúdo da barra de navegação. Explicação: No Bootstrap, a classe navbar oferece uma barra de navegação, onde con�guramos a opção principal, como a tela inicial (home), através da classe navbar-brand, destacando-a das demais. Os demais links podem ser dispostos em uma lista, com a classe navbar-nav, onde os itens serão do tipo nav-item, de�nindo as opções de menu. Cada nav-item deve encapsular uma âncora da classe nav-link, onde a página ativa será indicada através da opção active. Finalmente, os espaços podem ser organizados pelas classes do Bootstrap Grid System, como col-sm-4, e a opção navbar-expand-lg preenche todo o espaço horizontal para telas largas, comprimindo os itens para telas com espaço menor. 2. javascript:voltar(); javascript:voltar(); javascript:voltar(); javascript:voltar(); javascript:diminui(); javascript:diminui(); javascript:aumenta(); javascript:aumenta(); Os testes unitários constituem etapa fundamental no desenvolvimento de um projeto, pois eles são usados para fazer validações. Em relação a uma aplicação de testes unitários do Maven, selecione a opção correta para executá-la. Um artefato no Maven é um recurso gerado ou usado por um projeto. Selecione a opção correta que contenha contém o arquivo do Maven que descreve como os artefatos são construídos. A con�guração do objeto HttpSecurity permite o direcionamento para uma página de login personalizada através do método loginPage. Deve ser criado um controlador para responder às rotas /login e /logout no modo POST. A tela de login deve apresentar um formulário com os campos e-mail e password. No comportamento padrão, um logout bem-sucedido direciona para a raiz do site. A con�guração do objeto HttpSecurity permite o direcionamento para uma página de logout personalizada através do método logoutPage. Explicação: Quando utilizamos o Spring Security, com base no modelo de formulário, temos as telas de login e logout padronizadas do módulo, que inclusive utilizam Bootstrap, mas que não estão alinhadas com o design do aplicativo, e o comportamento padrão leva novamente para a tela de login quando ocorre o logout. Para personalizar as telas, devemos utilizar alguns métodos de HttpSecurity, sendo loginPage para de�nir o login personalizado, logoutUrl para o logout e logoutSuccessUrl para mudar o retorno após o logout. Os campos do formulário de login serão username e password, sendo também necessário um controlador para responder às rotas /login e /logout no modo GET, já que o modo POST será tratado pelo próprio Spring Security. 03590IMPLEMENTAÇÃO DA ARQUITETURA MVC 3. JUnit Test Java Package Java Application Java Annotation Java Test Explicação: Gabarito: JUnit Test Justi�cativa: A forma de executar uma aplicação de testes unitários do Maven é através da opção JUnit Test. A opção Java Application deve ser usada para executar uma aplicação. As demais opções da questão são inválidas. 4. target application.properties pom.xml AppApplication.java AppTest.java Explicação: Gabarito: pom.xml Justi�cativa: O arquivo do Maven que descreve como os artefatos são construídos é o "pom.xml". O "target" é uma pasta. Os arquivos "AppTest.java" e "AppApplication.java" não são arquivos de con�guração. Já o arquivo "application.properties" é responsável pelas con�gurações do projeto. Considere o trecho de código abaixo implementado em HQL: String hql = "FROM teste t WHERE t.m = 5"; Query query = session.createQuery(hql); List results = query.list(); Selecione a opção correta a respeito do código. Considere o trecho de código abaixo com JPQL String jpql = "SELECT t FROM Teste t"; List lstModelos= em.createQuery(jpql, COMPLETAR) .getResultList(); Selecione a opção que deve substituir o termo "COMPLETAR", para que o programa funcione corretamente. Com base em arquivos XML, o framework Spring oferece diversas opções de con�guração para o contêiner de execução, com baixo acoplamento, já que o código Java em si não depende diretamente dos valores especi�cados, o que permite, inclusive, que o sistema seja reutilizado em outros ambientes, apenas com a rede�nição dos arquivos de con�guração. Qual a classe de um bean utilizado para con�gurar a conexão com o banco de dados no XML de con�guração? 03591CAMADA DE MODELOMAPEAMENTO OBJETO RELACIONAL 5. As cláusulas devem estar em letras minúsculas. Caso exista, vai retornar todos os objetos do tipo teste cujo atributo m é igual a 5. Vai retornar uma lista de atributos t. O Código está incorreto, pois o nome do objeto deve ser maiúsculo. O código está errado e �ca corrigido ao acrescentar a cláusula o termo "SELECT *". Explicação: Gabarito: Caso exista, vai retornar todos os objetos do tipo teste cujo atributo m é igual a 5. Justi�cativa: O trecho de código está corretamente implementado em HQL e, caso exista, vai retornar uma lista de objetos do tipo teste. As demais opções são todas inválidas para o HQL. 6. Modelo Teste Teste.class Tabela @Table Explicação: Gabarito: Teste.class Justi�cativa: O método createQuery do EntityManager recebe como parâmetros a instrução JPQL e o nome da classe do objeto ORM com a extensão "class". Portanto, no caso do exemplo, a única opção que encaixa é com "Teste.class". 03592CAMADA DE CONTROLESERVIÇOS 7. No framework Spring temos diversas opções para a autenticação do usuário, onde uma delas seria a utilização de OAuth 2.0. Assinale, dentre as opções abaixo, a alternativa que representa o conjunto de elementos normalmente presentes em requisições realizadas com controle de acesso baseado em OAuth 2.0: Ao trabalhar com um aplicativo corporativo, segundo a arquitetura MVC, as camadas Model e Controller são de�nidas ao nível do projeto interno com o terminador "ejb", e o NetBeans oferece ferramentas de automatização para a geração dos componentes necessários, com utilização de duas tecnologias especí�cas. Quais são as tecnologias utilizadas para as duas camadas citadas, respectivamente?Org.springframework.orm.jpa.JpaTransactionManager Org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean Org.springframework.jdbc.datasource.DriverManagerDataSource Org.springframework.web.servlet.view.InternalResourceViewResolver Org.springframework.web.context.ContextLoaderListener Explicação: Para con�gurar a conexão com o banco de dados, devemos utilizar um bean do tipo DriverManagerDataSource, fornecendo, como parâmetros, o nome do driver JDBC, url para a conexão com o banco, usuário e senha. Após con�gurar a conexão, ela pode ser utilizada por um EntityManagerFactoryBean, para a criação dos gestores de entidade JPA, tendo transações controladas por um bean do tipo JpaTransactionManager. 8. Cliente, Servidor Web ou API, Servidor de Autorização, Tokens Servidor Web ou API, Usuário, Senha, Cookies Chave Privada, Chave Pública, Cliente, Servidor Web ou API Cliente, Servidor Criptográ�co, Servidor de Banco de Dados, Cookies Servidor LDAP, Chave Pública, Chave Privada, Cliente Explicação: Alguns papéis são comuns no OAuth 2.0, embora o �uxo de execução possa ser modi�cado de acordo com a plataforma. Temos o Cliente, normalmente um navegador Web ou dispositivo móvel, que solicita ao Servidor de Autorização, como Google ou Facebook, um Token para acesso a determinado Servidor Web ou API. O token é enviado tanto para o Cliente quanto para o Servidor Web ou API, permitindo a comparação e liberação do acesso. TECNOLOGIAS JPA E JEE 9. Servlet e JPA JSP e Servlet JPA e JSP JPA e EJB EJB e Servlet Explicação: A resposta correta é: JPA e EJB A arquitetura MVC (Model, View e Controller) é utilizada de forma ampla, na criação de sistemas cadastrais, e caracteriza-se pela divisão do sistema em três camadas, com objetivos especí�cos. Considerando a divisão utilizada pelo MVC, a interface de usuário e o componente DAO estariam, respectivamente, nas camadas: 10. Model e Controller Model e View Controller e Model View e Model View e Controller Explicação: A resposta correta é: View e Model Não Respondida Não Gravada Gravada