Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exercício: CCT0780_EX_A1_201702138501_V1 17/10/2018 21:52:56 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão A linguagem Java tem sintaxe bastante similar à da linguagem C/C++. No entanto, o ambiente Java possui diversas características que tornam o seu uso mais simples na construção de alguns tipos de aplicações. Sobre estas características diferenciadas, é válido afirmar que: Um programa Java pode ser executado em qualquer equipamento, independente de sua configuração e sistema operacional. A Máquina Virtual Java nunca é necessária; ela existe apenas para aumentar o desempenho do processamento. Java é uma linguagem naturalmente menos organizada, não possuindo recursos clássicos de C/C++ como, por exemplo, os pacotes e classes. A linguagem C/C++ possui muito mais recursos e uma biblioteca padronizada muito maior que o Java, em especial quando se fala em desenvolvimento de aplicativos para servidor. Ao contrário de um programa em C/C++, que normalmente dá origem a um software específico para um equipamento e sistema operacional, um programa em Java dá origem a um software que não é específico de qualquer computador ou sistema operacional. Como a linguagem Java é voltada para o aprendizado, ela foi construída com pequenos projetos em mente, não sendo adequada para construir sistemas maiores. 2a Questão "Método que não pode ser sobrescrito". Assinale a alternativa que indica esse tipo de método. Método abstrato Método final Método concreto Método de trabalho Método polimórfico 3a Questão Analise as seguintes sentenças: I. Em Java, a plataforma Java 2 Enterprise Edition (J2EE) define um padrão para desenvolvimento de aplicações empresariais em múltiplas camadas. II. O J2SE aproveita as vantagens gerais da linguagem Java, mas roda somente no ambiente windows. III. Em Java, o modificador de acesso protected permite acesso para qualquer subclasse ou classe pertencente ao mesmo pacote da classe identificada. Das sentenças acima, apenas: II é verdadeira I e II são verdadeiras III é verdadeira I é verdadeira I e III são verdadeiras 4a Questão Quando se cria programas de computador em Java, há possibilidade de ocorrer erros imprevistos durante sua execução, esses erros são conhecidos como exceções e podem ser provenientes de erros de lógica ou acesso a dispositivos ou arquivos externos. As exceções ocorrem quando algo imprevisto acontece, 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. Uma exceção é sempre um objeto do tipo Throwable As exceções em Java são fixas e não é possível definir novas exceções. A cláusula try sempre é executada. A cláusula finally é sempre executada mesmo quando existente em um bloco try/catch. A cláusula catch nem sempre é executada. 5a Questão Assinale a alternativa que representa a técnica que permite que vários métodos tenham o mesmo identificador, variando somente sua assinatura. sobrescrita polimorfismo derivação de classes sobrecarga encapsulamento 6a Questão Podemos dizer que é um modelo para criação de objetos. Polimorfismo Objeto Classe Herança Conexão 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. 7a Questão "Uma classe que não pode ser estendida, podendo apenas ser instanciada". Assinale a alternativa que indica esse tipo de classe. Classe concreta Classe filha Interface Classe final Classe abstrata 8a Questão "Uma classe que não pode ser instanciada, podendo apenas ser estendida". Assinale a alternativa que indica esse tipo de classe. Classe abstrata. Interface Classe final Classe pai Classe concreta Exercício: CCT0780_EX_A2_201702138501_V1 17/10/2018 22:04:33 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão Quando falamos de programação WEB, temos uma definição de uma classe na linguagem de programação Java que, dinamicamente, processa requisições e respostas, proporcionando, dessa maneira, novos recursos aos servidores. A definição, mais usada, considera- os extensões de servidores. Este módulo que estende a funcionalidade de um servidor web, através de módulos de aplicação implementados, em Java, estamos nos referindo a(o) Java Web Servlet ASP PHP Java 2a Questão Considere: I. Cobre parte da especificação JEE porém não as tecnologias servlet e JSP e nem as tecnologias Realms e JDBC DataSources. II. Tem a capacidade de atuar como servidor web, ou pode funcionar integrado a um servidor web dedicado como o Apache ou até mesmo o IIS. III. É distribuído pela Sun como software proprietário e é referência para as tecnologias Java Servlet e JavaServer Pages. Quanto ao Tomcat, é correto o que consta em I, II e III. I, somente. I e II, somente. III, somente. II, somente. 3a Questão Qual é a linha completa este código? 1) public class Casdastro extends HttpServlet { 2) protected void service(HttpServletRequest request,HttpServletResponse response) { 3) ContatoDAO dao = new ContatoDAO(); 4) Contato contato = new Contato(); 5) contato.setNome(request.getParameter("nome")); 6) contato.setEndereco(request.getParameter("endereco")); 7) contato.setEmail(request.getParameter("email")); 8) dao.inserir(contato); 9) ??????? 10) rd.forward(request, response); 11) } 12) } Dispatcher rd = request.getDispatcher("/contato-adicionado.jsp"); ResponseDispatcher rd = response.getRequestDispatcher("/contato-adicionado.jsp"); RequestDispatcher rd = response.get ResponseDispatcher("/contato-adicionado.jsp"); RequestDispatcher rd = request.getRequestDispatcher("/contato-adicionado.jsp"); Dispatcher rd = response.getDispatcher("/contato-adicionado.jsp"); Explicação: Será necessário um RequestDispatcher para efetuar a ação de forward da linha seguinte. 4a Questão Um Servlet é, basicamente, um programa Java que, ao receber uma requisição (request), realiza um processamento e gera uma resposta (response). Considerando o funcionamento dos Servlets, pode-se afirmar que: Os Servlets são executados sempre no computador do usuário, nunca no servidor da empresa. Jamais um Servlet aciona outro Servlet. Uma vez que um Servlet recebeu uma requisição, apenas ele deverá processá-la. Para que um Servlet possa ser executado é necessário que um contentor Java, como o TomCat ou GlassFish, esteja em funcionamento. Um Servlet pode apenas processar requisições do tipo "post", isto é, aquelas originadas de um formulário web. Apesar dos Servlets serem baseados na tecnologia Java, não há a necessidade de uma Máquina Virtual Java para executá- los. 5a Questão Considere: I. Cobre parte da especificação JEE porém não as tecnologias servlet e JSP e nem as tecnologias Realms e JDBCDataSources. II. Tem a capacidade de atuar como servidor web, ou pode funcionar integrado a um servidor web dedicado como o Apache ou até mesmo o IIS. III. É distribuído pela Sun como software proprietário e é referência para as tecnologias Java Servlet e JavaServer Pages. Quanto ao Tomcat, é correto o que consta em I, II e III. I, somente. II, somente. III, somente. I e II, somente. 6a Questão Qual das afirmativas abaixo é falsa com relação aos Web Servers Java? O principal contexto para Web utilizado é o Tomcat. Não são capazes de gerenciar estado. Permitem tratamento diferenciado para chamadas GET e POST. Um web service é uma aplicação distribuída, cujos componentes podem ser aplicados e executados em dispositivos distintos. Todo JSP é transformado pelo contexto em um Servlet. 7a Questão São considerados contêineres JSP/Servlet: Oracle e PostgreSql classe abstrata e interface Apache Tomcat e Glassfish métodos e atributos HttpServlet e Javascript 8a Questão O descritor de implantação de um aplicativo web descreve as classes, os recursos e a configuração do aplicativo e como eles serão usados pelo servidor web para atender às solicitações da web. Quando o servidor web recebe uma solicitação do aplicativo, ele usa o descritor de implantação para mapear o URL da solicitação para o código que deve processá-la. O descritor de implantação em aplicações Java Servlet e Java Server Pages que utilizam o GlassFish é o apache-config.xml web.xml contexto.xml manager.xml server.xml Explicação: No arquvo web.xml podem ser definidos elementos como timeout de sessão e mapeamento de Servlets. Exercício: CCT0780_EX_A3_201702138501_V1 18/10/2018 11:33:19 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão Com relação à linguagem JSP, diretivas podem ser utilizadas para determinar configurações específicas da página. Marque a opção que expressa o correto relacionamento entre a diretiva e sua funcionalidade. I - Diretiva include II - Diretiva page III - Diretiva taglib a. Através dessa diretiva podemos inserir texto existente em outro arquivo em uma página jsp. b. Indica quais bibliotecas de tags customizadas iremos utilizar em nossa página. c. São informações de configuração especificas do conteúdo Java existente na página. I - c , II - a , III - b I - c , II - b , III - a I - b , II - a , III - c I - a , II - c , III - b I - a , II - b , III - c 2a Questão É característica de um arquivo JSP a execução exclusiva em sistemas Windows. impossibilidade de inclusão de comentários. presença maciça de código Assembly. compilação em um servlet. execução exclusiva em sistemas Linux. 3a Questão A tecnologia JSP é extremamente útil e pode facilitar muito o desenvolvimento de uma aplicação web. Assinale a alternativa INCORRETA sobre esta tecnologia: O principal foco de uso do JSP é a criação da interface com o usuário. Um JSP tem a aparência de um código HTML com alguns trechos de código Java. Um JSP não pode trocar informações ou requisições com um Servlet. Todo arquivo JSP é, em sua primeira execução, convertido para um servlet. É possível usar um componente ou uma classe Java por meio de um JSP. 4a Questão Na diretiva page, do JSP, podemos utilizar o atributo import que permite configurar arquivos html. importar pacotes. importar figuras. importar arquivos htm. configurar pacotes. 5a Questão É característica de um arquivo JSP a execução exclusiva em sistemas Windows compilação em um servlet. execução exclusiva em sistemas Linux. impossibilidade de inclusão de comentários. presença maciça de código Assembly. Explicação: Todo arquivo JSP é transformado em Servlet pelo container Web na primeira execução. 6a Questão Com relação às características de um Java Bean, qual alternativa abaixo está INCORRETA? É um componente reutilizável de software. Seus atributos devem ser públicos. Implementa a interface java.io.Serializable Deve ser fornecido um "get" e "set" para cada um dos atributos. Possui um construtor sem argumentos. 7a Questão Com relação às tecnologias JSP, Servlet e JavaScript, responda V ou F : ( ) O método POST envia os dados como um fluxo de dados juntamente com o pacote de dados http de forma não visível ao usuário ( ) Página JSP são interpretadas e executadas pelo Container Java Web sem nenhuma transformação adicional. Ocorre apenas a carga página em código fonte. ( ) Uma Servlet para ser acionada precisa da definição da URL-pattern de acesso definida no descritor de implantação da aplicação Web ( ) É necessário o código fonte e o bytecode (.class) de uma Servlet no Container Java Web, para que a Servlet seja executada. ( )Uma Servlet somente suporta requisições na forma POST V - F - V - F - F V - V - V - F - V F - F - V -V - F V - F - F - F - F V - F - V - V - V 8a Questão Assinale a alternativa INCORRETA sobre servlets, com relação ao gerenciamento de sessão em um container Web. um cookie pode permanecer mesmo depois do browser ser fechado. o objeto HttpSession pode manter o estado de conversação durante várias solicitações do mesmo cliente. se o cliente não aceitar cookies, não há como rodar uma aplicação que depende de sessões. uma sessão permite manter dados entre as páginas web. uma reescrita de URL só entra em cena se os cookies falharem e se a resposta mandar codificar a URL. Exercício: CCT0780_EX_A4_201702138501_V1 18/10/2018 11:37:29 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão Dada a classe abaixo, complete as lacunas de forma correta: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Principal { public static void main(String[] args) { try { _______________("org.postgresql.Driver"); Connection con = __________("jdbc:postgresql:BancoProva","aluno","prova"); Statement stm =_____________________; ResultSet rs = ________________("select * from tabela"); while(________________) { System.out.println("Valor da primeira coluna do resultado" + rs.getString(1)); } con.close(); } catch(Exception e) { System.out.println("Erro:" + e.getMessage()); } } } DriverManager.getConnection, Class.forName, con.createStatement(),stm.executeQuery, rs.next() Class.forName, DriverManager.getConnection, con.createStatament(),stm.executeQuery, rs.hasNext() Class.forName, DriverManager.getConnection, con.createStatement(),stm.executeQuery, rs.next() DriverManager.getConnection, Class.forName, rs.createStatement(),stm.executeQuery, rs.next() DriverManager.getConnection, Class.forName, rs.createStatament(),stm.executeQuery, rs.hasNext() 2a QuestãoJava 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 método close() da classe Connection fecha uma conexão com o banco de dados O PreparedStatement é uma subinterface de Statement É possivel acessar Banco de Dados que não possuem Driver JDBC próprio através da ponte JDBC-ODBC O executeQuery é um método da classe Connection para execução de uma consulta Statement representa uma conexão estabelecida com o Banco de Dados 3a Questão (TRE-RR/2015) A interface PreparedStatement do Java permite executar instruções SQL parametrizadas, ou seja, que primeiro são construídas e depois recebem parâmetros. Neste contexto, considere que no bloco de código abaixo con é um objeto da interface Connection que representa uma conexão com um banco de dados, estabelecida com sucesso: String sql = "insert into contatos (nome, email, endereco) values (_I_, _II_, _III_); PreparedStatement stmt = con.prepareStatement(sql); stmt.setString(1, "Paulo"); stmt.setString(2, "paulo@email.com.br"); stmt.setString(3, "Rua Vergueiro, 1567"); stmt.execute(); No bloco de código apresentado, as lacunas I, II e III devem ser preenchidas, correta e respectivamente, com: 1, 2, 3 * ${1}, ${2}, ${3} ? "Paulo", "paulo@email.com.br", e "Rua Vergueiro, 1567" 4a Questão Qual das classes abaixo não está relacionada ao uso de banco de dados através do JDBC? HttpRequest PreparedStatement DriverManager ResultSet Connection Explicação: A classe HttpRequest está relacionada às requisições efetuadas via conexões HTTP. 5a Questão Qual a classe de JDBC é responsável pela interface entre os clientes e os drivers JDBC? DriverManager PreparedStatement ResultSet EntityManagerFactory EntityManager 6a Questão O JDBC - Java DataBase Connectivity - é uma API que permite a interação com um SGBD (Sistema Gerenciador de Banco de Dados) em baixo nível, isto é, permite realizar conexões e consultas ao banco de dados. Sobre esta API, indique a afirmativa INCORRETA: Não é possível acessar ao banco de dados sem a instalação de um driver para o SGBD. Não é possível realizar uma busca sem realizar uma conexão. Não é possível acessar um SGBD com o JDBC sem indicar seu endereço. Não é possível realizar as buscas sem tratar ou jogar exceções. Não é possível construir aplicações para múltiplos SGBDs usando esta API. 7a Questão A persistência em Banco de Dados é uma constante em programas de automação comercial. Porém certas interfaces e classes geram dúvidas para programadores iniciantes. Entres elas encontra-se a Statement. Dada as alternativas abaixo, selecione a que define Statement. Implementado quando você deseja acessar banco de dados procedimentos armazenados. Também pode aceitar parâmetros de entrada em tempo de execução. É responsável por fornecer a conexão de uma aplicação Java com o Banco de dados Implementado quando você planeja usar as instruções SQL muitas vezes. Aceita parâmetros de entrada em tempo de execução. Representa uma conexão a um banco de dados, a partir de uma URL JDBC recebida como parâmetro. Implementado para acesso de uso geral do banco de dados. É útil quando você estiver usando as instruções SQL estáticas no tempo de execução. Não pode aceitar parâmetros. 8a Questão É um dos cinco elementos básicos que nos permitem manipular bancos de dados através da API JDBC. DriverManager TagLib SGBD JSP Servlets Explicação: A função primária do DriverManager é obter conexões com o banco a partir do driver JDBC e a string de conexão. Exercício: CCT0780_EX_A5_201702138501_V1 18/10/2018 11:38:29 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão "Especificação Java, JSR 14, que permite escrever códigos reutilizáveis por diferentes tipos de objetos; essa especificação determina ao compilador, qual tipo de classe deve ser interpretada no momento da compilação, permitindo ao programador especificar qualquer tipo de objeto para ser manipulado em uma classe". O texto se refere a: Classes Generics JPA JSP Anotações 2a Questão Toda entidade deve ter um atributo mapeado com a anotação @id. Esta anotação indica que o atributo será mapeado como chave- primária. Caso o valor da chave primária tenha que ser gerado automaticamente, deve ser usada, também, uma anotação indicativa. Assinale a alternativa que apresenta a anotação indicativa de geração automática de valores para chave primária. @Column @GenerateValue @PrimaryKey @Temporal @Seed 3a Questão A sequencia correta de anotações JPA para a classe abaixo é? @1_______ @2_______(name="Alunos") public class Aluno implements Serializable{ @3_________ private String matricula; @4_________ private String nome; @6________(mappedBy="alunos") private Set turmas; ... @Entity, @Table, @Id, @Column, @ManyToMany @Entity, @Id, @Table, @Column, @ManyToMany @Table, @Id, @Entity, @Column, @ManyToMany @Entity, @Table, @ManyToMany, @Id, @Column @Entity, @Column, @Table, @Id, @ManyToMany Explicação: Uma entidade é definida com @Entity e a tabela de gravação por @Table. As colunas são definidas com @Column, sendo a chave primária acrescida de @Id. Finalmente, os relacionamentos NxN são definidos com @ManyToMany. 4a Questão A utilização de JPA é baseada em anotações sobre POJOs. Abaixo são apresentadas algumas anotações do JPA e descrições de funcionalidades. Marque a opção que expressa o correto relacionamento entre cada anotação e sua funcionalidade. I - @OneToMany II - @Table III - @GeneratedValue a. Utilizada para refletir valores gerados automaticamente, com auto-incremento. b. Indica que uma determinada entidade será persistida em uma tabela. c. Define uma relação de um-para-muitos. I - b , II - a , III - c I - c , II - a , III - b I - c , II - b , III - a I - a , II - b , III - c I - a , II - c , III - b 5a Questão Com base na classe abaixo declarada: @Entity public class Aluno{ @Id private int mat; private int numero; // demais declarações } Assinale a afirmativa falsa. A anotação @Entity indica que a classe Aluno é uma entidade simples A chave primária da entidade Aluno corresponde ao atributo numero. No Mapeamento Objeto Relacional, os objetos da classe Aluno correspondem aos registros da tabela aluno. A chave primária da entidade Aluno corresponde ao atributo mat A classe Aluno representa uma entidade de persistência de dados. 6a Questão Interface que representa um grupo de objetos únicos, isto é, não podem existir objetos em duplicidade dentro do conjunto: Vector List Set ArrayList Collection 7a Questão Qual das seguintes anotações de JPA permite especificar que uma classe deveser mapeada para o modelo relacional? @Column @GeneratedValue @SupressWarning @Id @Entity Explicação: Uma classe anotada com @Entity funciona como uma entidade mapeada para a estrutura relacional. 8a Questão A anotação @ManytToOne será utilizada toda vez que quisermos indicar um relacionamento do tipo: Muitos para muitos Um para muitos Cascade Muitos para um Um para um Exercício: CCT0780_EX_A1_201702138501_V2 17/10/2018 21:57:28 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão __________________ é 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: Garbage Collector Java Virtual Machine Java Collector Java Clean Garbage Drunk Explicação: O coletor de lixo, ou Garbage Collector, elimina da memória os objetos que não podem mais ser referenciados. 2a Questão Desenvolvida pela Sun Microsystems na década de 90, a linguagem Java tem sido amplamente aceita pelo mercado devido a diversas características apresentadas. Algumas destas características são listadas a seguir. Qual das alternativas indica uma afirmação FALSA acerca das vantagens do Java? É uma linguagem multiplataforma. Tem diversos ambientes de desenvolvimento gratuitos. Conta com ampla documentação e possibilidade de certificação através da Microsoft. Pode ser baixada gratuitamente. É uma arquitetura aberta, extensível, com várias implementações. 3a Questão Uma classe pode possuir mais de um método construtor, diferenciados pela listas de parâmetros. Assinale a alternativa que indica o mecanismo usado em tal implementação. Abstração Sobrecarga Polimorfismo Sobrescrita Encapsulamento 4a Questão A linguagem Java apresenta muitas palavras reservadas, e algumas delas podem modificar muito o comportamento de um elemento programacional. Assinale a alternativa correta quanto ao uso da palavra reservada. Classes concretas podem conter métodos definidos como abstract. Um parâmetro final pode ter seu valor modificado no corpo do método. Uma classe final não pode ser estendida. A palavra static serve para definir elementos que não podem ser modificados. A palavra final serve para a definição de um elemento abstrato. 5a Questão Sobre os diferentes pacotes de java disponíveis, analise as afirmativas e selecione a alternativa correta: I) O pacote Java SE é suficiente para desenvolver todo e qualquer tipo de aplicação Java. II) É desnecessário identificar a versão da JVM do servidor de aplicações, visto que uma aplicação Java de qualquer versão sempre poderá ser executada em qualquer versão de JVM. III) O JDK é um pacote que inclui diversos elementos adicionais, a maioria deles necessários apenas para o desenvolvedor Java. Apenas uma afirmativa está correta. Apenas I e II estão corretas. Apenas II e III estão corretas. Todas as afirmativas estão corretas. Apenas I e III estão corretas. 6a Questão Em relação a conceitos de Java, marque a alternativa correta: Sempre que houver confusão entre nomes de variáveis de um método com os nomes de atributos de uma classe, devemos usar a palavra this para nos referir ao atributo. Para que um atributo não seja modificado por outras classes, deve-se liberar o método getter daquela variável. Seja a sentença: public class Livro extends Produto. Podemos dizer que todo objeto do tipo Produto será, ao mesmo tempo, um objeto do tipo Livro. O método getter não permite esconder o formato (tipo de dado) com que um atributo está armazenado. Os métodos que servem para modificar atributos são chamados de getters. 7a Questão Quando falamos das ações que um objeto pode realizar estamos nos referindo a: Métodos Atributos Agrupamentos Nível de acesso Herança 8a Questão Qual técnica permite que vários métodos tenham o mesmo identificador, variando somente sua assinatura? Sobrecarga Polimorfismo Sobrescrita Herança Encapsulamento Exercício: CCT0780_EX_A2_201702138501_V2 17/10/2018 22:12:53 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão Analise o código abaixo e escolha a alternativa INCORRETA: protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); try (PrintWriter out = response.getWriter()) { String pesoT= request.getParameter("peso"); pesoT = pesoT.replaceAll(",","."); String alturaT = request.getParameter("altura"); alturaT = alturaT.replaceAll(",", "."); double peso = Double.valueOf(pesoT); double altura = Double.valueOf(alturaT); double imc = peso /(altura*altura); out.println("IMC: "+ imc + ""); } catch (Exception e) { out.println("Digite um numero"); } No código apresentado dois parâmetros, peso e altura, são recebidos através de um método do HTTP, como o POST, por exemplo. O cálculo é realizado através da chamada ao método IMC Classes Java são utilizadas para converter os parâmetros recebidos, que chegam como String, para os tipos apropriados A possível exceção é tratada no próprio código O retorno do código apresentado é uma expressão HTML Explicação: Na verdade, o "imc" trata da variável que recebe o cálculo, feito apenas com operações sequenciais, e não um método que efetuaria o cálculo. 2a Questão O protocolo HTTP funciona através da requisição de um recurso e uma resposta que pode devolver um arquivo que é devolvido pelo servidor Web, esta diferença é determinada pelo método informado na requisição. Informe a afirmativa incorreta dentre as listadas abaixo: Um Servlet pode receber a mesma requisição através dos dois métodos (post e get) ao mesmo tempo. O método post não possui limite de tamanho dos dados enviados, o seu limite é o tempo de resposta. O método get possui limite de caracteres no tamanho da URL chamada. O método get não permite que se faça envio de arquivos junto com os dados. O envio por post e get necessitam tratamento diferenciado quando se utiliza o Character Encoding ISSO-8859-1. Explicação: O protocolo HTTP permite o uso de GET ou POST a cada chamada, porém não na mesma requisição. 3a Questão Para criar um Servlet é necessário: Criar uma classe que estenda a classe HttpServlet. Implementar o método HttpServletr. Implementar o método Servlet.service(Servlet.HTTP_REQUEST). Instanciar a classe Servlet que implemente Serializable. Criar uma classe que implemente a interface HttpServlet. 4a Questão O que é Servlet ? um software criado pela Sun para desenvolvimento de aplicativos móveis em Javauma classe Java que é carregada e executada por um servidor web um framework que auxilia no desenvolvimento de aplicações web uma arquitetura genérica para web que implementa várias linguagens de programação, tais como PHP e o Java uma extensão da classe JFrame 5a Questão Para recuperar os dados enviados através de uma requisição utiliza-se: request.getParameter("nomedoparametro") parameter.getRequest("nomedoparametro") getParameter.request("nomedoparametro") parameter.Requestget("nomedoparametro") request.Parameterget("nomedoparametro") 6a Questão Em relação a um Servidor de Aplicações JAVA (Contentor JAVA), os seguintes itens descrevem o seu funcionamento básico, EXCETO: Recebe a response do servlet. Mostra o resultado no browser do cliente. Devolve a response para o cliente que enviou a request. Aguarda pelas requests. Repassa a request para o servlet correto. 7a Questão Ao estudar as especificações e frameworks Java EE, um Analista de Sistemas concluiu que: no container WEB, uma página JSP transforma-se em um servlet, que é compilado, carregado e inicializado STRUTS é um framework de persistência que permite o gerenciamento de dados relacionais, utilizando-se de mapeamento objeto-relacional Enterprise JavaBeans é um modelo de componentes padronizado, executado no lado do cliente e que facilita a construção de aplicações distribuídas robustas o container WEB do servidor de aplicações é o responsável por gerenciar o ciclo de vida de servlets e de EJBs utilizados numa aplicação Java a utilização de Java Persistent API obriga o uso de um container EJB com Session Beans 8a Questão Quando um servlet é criado no NetBeans, uma série de elementos são automaticamente inseridos no código, incluindo um método chamado processRequest. Qual das afirmações abaixo NÃO É CORRETA? É usado como alternativa para processar requisições doPost. É usado para criar uma saída visual, usando o objeto response. É usado sem a necessidade de uma requisição. É usado como alternativa para processar requisições doGet. É usado para transferir a requisição para outro servlet, usando o forward do RequestDispatcher. Exercício: CCT0780_EX_A3_201702138501_V2 18/10/2018 13:50:37 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão Ao se executar uma página JSP na plataforma J2EE, o servidor de aplicação: envia o conteúdo HTML ao navegador, substituindo o código delimitado por <% e %> pelos valores correspondentes. traduz o conteúdo da página em um Servlet, compila o Servlet e o executa, enviando o resultado para o navegador. envia a página para um interpretador Java que faz o processamento e envia o código HTML resultante para o navegador. compila a página por meio de um compilador específico e a executa, enviando o resultado para o navegador. envia todo conteúdo da página para o navegador, pois, devido à compatibilidade do código Java e JavaScript, ela pode ser processada diretamente pelo navegador. Explicação: No primeiro acesso feito ao JSP, o container Web compila o mesmo no formato de um Servlet, o qual passa a ser acessado no lugar do JSP original. 2a Questão Os sistemas para o ambiente Internet utilizam a sessão como forma de controle de acesso às áreas restritas. A implementação do tratamento pode ser feito de várias maneiras, além do uso de várias formas de controlar os direitos de uso. O uso do padrão Front Controller permite que a verificação possa ser realizada em único local, facilitando a manutenção. Marque a afirmação que não pode ser utilizada como forma de verificar se uma operação precisa de que o usuário esteja logado usando o padrão Command nas seguintes abordagens: Podemos criar uma classe de controle de login que será estendida pelos comandos que necessitarem de controle de acesso. Podemos codificar em cada comando para que ele verifique se necessita de login, deixando para ele a responsabilidade de encaminhar para o formulário de login. Pode ser usado um prefixo para que um conjunto de comandos obrigue que determinada varável de sessão exista e possua valor. Podemos organizar os comandos por pacotes e determinar quais os pacotes que deverão exigir o uso de login do usuário. Podemos criar uma interface e fazer com que todos os comando que necessitem de login prévio a implemente. O teste será realizado com a utilização do operador insataceOf. Explicação: O padrão Command trabalha com o sistema de herança, devendo ser especializado para as necessidades de controle de acesso específicas. 3a Questão Em JSP, a diretiva taglib define: uma biblioteca para ser inserida na página. um módulo logicamente coesivo. uma nova tag para ser usada na página. uma biblioteca de tags para serem usadas na página. um conjunto de classes importadas para serem usadas na página. 4a Questão A tecnologia JSP é extremamente útil e pode facilitar o desenvolvimento de uma aplicação web. Assinale a alternativa INCORRETA sobre esta tecnologia: Um JSP não pode trocar informações ou requisições com um Servlet. Todo arquivo JSP é, em sua primeira execução, convertido para um servlet. Um JSP tem a aparência de um código HTML com alguns trechos de código Java. O principal foco de uso do JSP é a criação da interface com o usuário É possível usar um componente ou uma classe Java por meio de um JSP. Explicação: É plenamente possível trocar informações com o uso de setAttribute, em diferentes escopos, bem como o uso de RequestDispatcher para o redirecionamento interno da requisição. 5a Questão Em JSP quais membros equivalem às variáveis e métodos pertencente à instância de classe caso fossem declarados em um Servlet convencional? Comentários Declarações Expressões Taglibs Scriptlets 6a Questão Com relação às características de um Java Bean, qual alternativa abaixo está INCORRETA? Utiliza construtores privados. Implementa a interface java.io.Serializable. Seus atributos devem ser privados. Deve ser fornecido um "get" e "set" para cada um dos atributos. É um componente reutilizável de software. 7a Questão Entre as tecnologias Java voltadas para a criação de aplicativos servidores encontram-se: JSP e Servlet ASP e SWING ASP e JSP JPA e LINQ JPA e SWING 8a Questão A respeito das características do JSP, assinale a alternativa INCORRETA Permitem especificar parâmetros como a codificação implementada, bem com as bibliotecas utilizadas, através dos marcadores da forma <%@ %> (Directive Tag) Permitem a utilização de variáveis e métodos através dos marcadores de declaração (Declaration Tag) da forma <%! %> Permitem a inserção, no código HTML, de código Java através do uso de marcadores (Tags) da forma <% %> Permitem que códigos adicionas jsp sejam incluídos, através dos marcadores da forma Permitem que um código do servlet seja incluído no código do servlet através do uso dos marcadores Explicação: Os marcadores do JSP permitem a inclusão de código Java, a ser executadopelo servidor, sendo deonimado Scriptlet. Exercício: CCT0780_EX_A4_201702138501_V2 18/10/2018 13:49:00 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão Analise as seguintes afirmações a respeito de JSP: I. Em uma aplicação Web, há apenas um objeto page em cada JSP. II. Comentários JSP aparecem na resposta ao cliente. III. Os objetos com escopo session duram por toda a sessão de navegação do cliente. Assinale a opção correta. Apenas a afirmação I é verdadeira. As afirmações I, II e III são verdadeiras. Apenas a afirmação III é verdadeira. Nenhuma das afirmações é verdadeira. Apenas a afirmação II é verdadeira. 2a Questão É um dos cinco elementos básicos que nos permitem manipular bancos de dados através da API JDBC. DriverManager JSP SGBD TagLib Servlets Explicação: A função primária do DriverManager é obter conexões com o banco a partir do driver JDBC e a string de conexão. 3a Questão O JDBC - Java DataBase Connectivity - é uma API que permite a interação com um SGBD (Sistema Gerenciador de Banco de Dados) em baixo nível, isto é, permite realizar conexões e consultas ao banco de dados. Sobre esta API, indique a afirmativa INCORRETA: Não é possível realizar as buscas sem tratar ou jogar exceções. Não é possível acessar ao banco de dados sem a instalação de um driver para o SGBD. Não é possível construir aplicações para múltiplos SGBDs usando esta API. Não é possível realizar uma busca sem realizar uma conexão. Não é possível acessar um SGBD com o JDBC sem indicar seu endereço. 4a Questão 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 método close() da classe Connection fecha uma conexão com o banco de dados O PreparedStatement é uma subinterface de Statement É possivel acessar Banco de Dados que não possuem Driver JDBC próprio através da ponte JDBC-ODBC O executeQuery é um método da classe Connection para execução de uma consulta Statement representa uma conexão estabelecida com o Banco de Dados 5a Questão Qual das classes abaixo não está relacionada ao uso de banco de dados através do JDBC? DriverManager PreparedStatement Connection HttpRequest ResultSet Explicação: A classe HttpRequest está relacionada às requisições efetuadas via conexões HTTP. 6a Questão Complete as lacunas no trecho de código-fonte abaixo com os termos corretos: (1)____________ banco = DriverManager.getConnection(url, "usuario", "senha"); (2)____________ comandoSql = banco.createStatement(); (3)____________ resultados = comandoSql.executeQuery("SELECT codigo, nome FROM clientes"); while (resultados.next()) { System.out.println(resultados.getInt("codigo")); System.out.println(resultados.getString("nome")); } resultados.close(); comandoSql.close(); banco.close(); (1) DbConnection (2) SqlCommand (3) ResultSet (1) Database (2) Command (3) RecordSet (1) EntityManager (2) Query (3) List (1) Connection (2) Statement (3) ResultSet (1) Connection (2) Command (3) RecordSet Explicação: Com relação aos componentes utilizados, Connection encapsula uma conexão com o banco, Statement é um executor de SQL, e ResultSet recebe os dados da consulta em um cursor. 7a Questão A persistência em Banco de Dados é uma constante em programas de automação comercial. Porém certas interfaces e classes geram dúvidas para programadores iniciantes. Entres elas encontra-se a Statement. Dada as alternativas abaixo, selecione a que define Statement. Implementado para acesso de uso geral do banco de dados. É útil quando você estiver usando as instruções SQL estáticas no tempo de execução. Não pode aceitar parâmetros. Implementado quando você deseja acessar banco de dados procedimentos armazenados. Também pode aceitar parâmetros de entrada em tempo de execução. Implementado quando você planeja usar as instruções SQL muitas vezes. Aceita parâmetros de entrada em tempo de execução. É responsável por fornecer a conexão de uma aplicação Java com o Banco de dados Representa uma conexão a um banco de dados, a partir de uma URL JDBC recebida como parâmetro. 8a Questão Dada a classe abaixo, complete as lacunas de forma correta: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Principal { public static void main(String[] args) { try { _______________("org.postgresql.Driver"); Connection con = __________("jdbc:postgresql:BancoProva","aluno","prova"); Statement stm =_____________________; ResultSet rs = ________________("select * from tabela"); while(________________) { System.out.println("Valor da primeira coluna do resultado" + rs.getString(1)); } con.close(); } catch(Exception e) { System.out.println("Erro:" + e.getMessage()); } } } Class.forName, DriverManager.getConnection, con.createStatement(),stm.executeQuery, rs.next() DriverManager.getConnection, Class.forName, rs.createStatement(),stm.executeQuery, rs.next() DriverManager.getConnection, Class.forName, rs.createStatament(),stm.executeQuery, rs.hasNext() DriverManager.getConnection, Class.forName, con.createStatement(),stm.executeQuery, rs.next() Class.forName, DriverManager.getConnection, con.createStatament(),stm.executeQuery, rs.hasNext() Exercício: CCT0780_EX_A5_201702138501_V2 18/10/2018 13:52:03 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão A ideia do mapeamento de JPA é persistir automaticamente classes Java em bancos de dados. Qual nome é dado às classes manipuladas automaticamente pelo mecanismo de persistência de JPA? Parâmetros Atributos Beans Entidades Business Objects 2a Questão A anotação @OneToOne será usada toda vez que quisermos indicar um relacionamento do tipo: Muitos para nenhum Um para muitos Um para um Muitos para um Muitos para muitos 3a Questão O padrão DAO pode ter as suas classe de acesso aos dados sendo implementadas utilizando JPA. A refatoração de um projeto existente para que ele passe a usufruir das vantagens da API não é tão custosa para sistemas menores. Marque a afirmativa correta: As classes de entidade só podem possuir propriedades associadas aos campos das tabelas. As tabelas no banco de dados devem possuir representações nas classes configuradas com a anotação Entity, fazendo os tratamentos necessários para as diferenças que existirem nos nomes das tabelas e dos campos. O uso de JPA dificulta a mudança de um SGBD de um fabricante para outro. Cada tabela no banco de dados se transforma sempre em uma única classe modelo e ela deve possuir a anotação Entity. O mapeamentoobjeto relacional permite façamos a configuração de todas as classes do sistema, fazendo com que cada classe de um sistema possua a sua representação no banco de dados. Explicação: A resolução das diferenças de nomes é feita com o uso das anotações @Table e @Collumn. 4a Questão Um elemento de grande relevância para a programação em qualquer linguagem da atualidade é o mapeamento objeto-relacional, responsável pela visualização e manipulação dos registros de bancos relacionais em termos de objetos da linguagem. Um exemplo deste tipo de ferramenta é o JPA, utilizado na linguagem Java, o qual usa anotações para determinar os tipos de relações expressos. Assinale a alternativa INCORRETA com relação a estas anotações: @OneToMany expressa relações do tipo um para muitos. @OneToOne expressa relações do tipo um para um. @OneToMany tem o mapeamento reverso definido como @ManyToOne. @ManyToOne recebe o valor mapeado através de uma coleção. @ManyToOne expressa relações do tipo muitos para um. 5a Questão A anotação @ManytToOne será utilizada toda vez que quisermos indicar um relacionamento do tipo: Um para um Um para muitos Cascade Muitos para muitos Muitos para um 6a Questão Arquivo de configuração necessário para a configuração das conexões no JPA: manifest persistence.xml context.xml readme.txt web.xml 7a Questão A anotação @ManyToMany será usada toda vez que quisermos indicar um relacionamento do tipo: Um para um Muitos para um Muitos para nenhum Muitos para muitos Um para muitos 8a Questão Sobre JPA é correto afirmar que É a tecnologia que define como será feita a autenticação de usuários no container JEE Permite programação distribuída entre sistemas implementados com tecnologias diferentes Não faz parte da especificação JEE Define um padrão para a realização de mapeamento objeto-relacional Define um enpoint web service Explicação: A finalidade do JPA é efetuar o mapemaneto objeto-relacional com o uso de classes anotadas. Exercício: CCT0780_EX_A1_201702138501_V3 17/10/2018 22:00:51 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão No Java, é uma interface que não permite elementos duplicados e modela a abstração matemática de conjunto. Contém apenas métodos herdados da interface Collection e adiciona a restrição de que elementos duplicados são proibidos. A interface citada é: List ArrayList Set Map HashMap Explicação: O uso de HashMap viabiliza a construção de coleções de pares chave-valor, onde as chaves não permitem duplicidade. 2a Questão 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? Agregação Encapsulamento Herança Sobrecarga Sobrescrita 3a Questão Qual a função do encapsulamento? Instancia um objeto dentro de classes private. Impedir o acesso direto a um objeto. Fazer a transferência de dados segura entre usuário e servidor. Fazer uma conexão entre usuário e servidor. Cria novos objetos. Explicação: Tradicionalmente o encapsulamento é feito com o uso de getters e setters públicos para o controle do acesso aos atributos privados. 4a Questão O comando break tem a função de: Interromper a execução de um loop Impossibilitar o aninhamento de loops não lógicos Segmentar a execução de um loop em duas ou mais partes aninhadas Estabelecer um intervalo de depuração durante a execução de um loop Condicionar a execução de um comando de atribuição a um operador lógico Explicação: O comando break é utilizado em duas situações: interromper a execução de um loop, e delimitar uma seção de switch/case. 5a Questão "Classes que não podem possuir métodos concretos, assim como também não podem possuir métodos construtores". Assinale a alternativa que indica esse tipo de classe Classes concretas Interfaces Classes filhas Classes abstratas Classe derivadas 6a Questão Analise as seguintes sentenças: I. Em Java, a plataforma Java 2 Enterprise Edition (J2EE) define um padrão para desenvolvimento de aplicações empresariais em múltiplas camadas. II. O J2SE aproveita as vantagens gerais da linguagem Java, mas roda somente no ambiente windows. III. Em Java, o modificador de acesso protected permite acesso para qualquer subclasse ou classe pertencente ao mesmo pacote da classe identificada. Das sentenças acima, apenas: II é verdadeira III é verdadeira I e III são verdadeiras I e II são verdadeiras I é verdadeira 7a Questão "Uma classe que não pode ser instanciada, podendo apenas ser estendida". Assinale a alternativa que indica esse tipo de classe. Classe final Classe abstrata. Interface Classe concreta Classe pai 8a Questão A linguagem Java tem sintaxe bastante similar à da linguagem C/C++. No entanto, o ambiente Java possui diversas características que tornam o seu uso mais simples na construção de alguns tipos de aplicações. Sobre estas características diferenciadas, é válido afirmar que: Como a linguagem Java é voltada para o aprendizado, ela foi construída com pequenos projetos em mente, não sendo adequada para construir sistemas maiores. Um programa Java pode ser executado em qualquer equipamento, independente de sua configuração e sistema operacional. A Máquina Virtual Java nunca é necessária; ela existe apenas para aumentar o desempenho do processamento. Java é uma linguagem naturalmente menos organizada, não possuindo recursos clássicos de C/C++ como, por exemplo, os pacotes e classes. A linguagem C/C++ possui muito mais recursos e uma biblioteca padronizada muito maior que o Java, em especial quando se fala em desenvolvimento de aplicativos para servidor. Ao contrário de um programa em C/C++, que normalmente dá origem a um software específico para um equipamento e sistema operacional, um programa em Java dá origem a um software que não é específico de qualquer computador ou sistema operacional. Exercício: CCT0780_EX_A2_201702138501_V3 17/10/2018 22:18:50 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão Marque a alternativa que NÃO se trata de uma afirmativa correta sobre o servidor web Tomcat: Executa as mesmas funções que o servidor web Apache HTTP Server Necessita de uma JVM para ser executado É escrito em Java Necessita da plataforma Java SE instalada Cuida basicamente de processamento de aplicações Java 2a Questão Em relação a um Servidor de Aplicações JAVA (Contentor JAVA), os seguintes itens descrevem o seu funcionamento básico, EXCETO: Devolve a response para o cliente que enviou a request.Apresenta o resultado da página na máquina do cliente. Recebe a response do servlet. Repassa a request para o servlet correto. Aguarda pelas requests. Explicação: O servidor de aplicações, como o GlassFish, atua apenas do lado servidor. 3a Questão São apenas tipos de componentes executados em servidores Web: Beans, Servlets e JSP. Beans, Swing e JVM. Beans, Servlets e J2EE. JVM, Servlets e JSP. Beans, Swing e JSP. 4a Questão O ambiente necessário para a execução de aplicações web desenvolvidas com as tecnologias Java Servlet e JSP é fornecido pelo container Web IIS. Bean. Servlet. Tomcat. Apache. 5a Questão Servlets são projetadas para fornecer aos desenvolvedores uma solução JAVA para criar aplicações web. Para criar Servlets é necessário importar as classes padrão de extensão dos pacotes: javax.servlet.smtp e javax.servlet.html javax.servlet.html e javax.servlet.http javax.servlet e javax.http.servlet servlet.javax e servlet.javax.http javax.servlet e javax.servlet.http 6a Questão A respeito das características dos servlets, assinale a alternativa INCORRETA Arquivos JSP são transformados em servlets durante a sua execução Servlets são classes java que herdam de HttpServlet Servlets são páginas html com java embutido No método ProcessRequest de um servlet é possível gerar o código HTML a ser apresentado Além do médodo ProcessRequest, outros métodos encontrados em um servlet são o doPost e doGet Explicação: O que mais se aproximaria da descrição marcada como incorreta seriam as páginas JSP. 7a Questão Analise as alternativas sobre Servlets: I - A tecnologia Java Servlet utiliza a plataforma Java para criar páginas web dinâmicas em aplicações independente de plataforma; II - Servlet é uma classe que estende (herda) de httpServlet; III - É baseada na construção de classes e são executadas no cliente (navegador). Somente a I e II estão corretas. Todas as afirmativas estão corretas. Somente a III está correta. Somente a II está correta. Somente a I está correta. 8a Questão Para criar um Servlet é necessário: Instanciar a classe Servlet que implemente Serializable. Criar uma classe que implemente a interface HttpServlet. Criar uma classe que estenda a classe HttpServlet. Implementar todos os métodos HttpServer Implementar o método Servlet.service(Servlet.HTTP_REQUEST). Explicação: A calsse HttpServlet já traz todo o arcabouço necessário para o funcionamento de um Servlet sob protocolo HTTP. Exercício: CCT0780_EX_A3_201702138501_V3 18/10/2018 13:51:08 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão Páginas JSP podem ser escritas sem qualquer comando Java explícito, desde que seja feito o uso de: Expressões JSP XML Schema Scriptlets Bibliotecas de tags Declarações JSP Explicação: As taglibs permitem a criação de tags para uso no JSP, incluindo algumas relacionadas a controle de fluxo de execução, o que permite a programação da página sem uso direto do Java. 2a Questão Com relação às características de um Java Bean, qual alternativa abaixo está INCORRETA? É um componente reutilizável de software. Deve ser fornecido um "get" e "set" para cada um dos atributos. Possui um construtor sem argumentos. Seus atributos devem ser privados. Implementa a interface java.awt.event.MouseListener 3a Questão Para incluir blocos de código Java em uma página JSP utiliza-se a categoria de tags denominada scriptlets. diretivas. expressões. declarações. comentários. 4a Questão 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 / XML / servidor tags JSP / scriplets / HTML / XML / servidor tags JSP / HTML / Java / Java Script / servidor tags JSP / HTML / Java / Java Script / compilador tags JSP / scriplets / HTML / XML / compilador Explicação: Os arquivo JSP compreendem diretivas e trecho Java encapsulados em documentos XML, XHTML ou HTML, e são trasnformados em Servlet pelo container para a subsequente execução. 5a Questão Assinale a alternativa que possui o conceito incorreto sobre sessão web: Serve para armazenar dados, tais como login, carrinho de compras em lojas virtuais, etc. Somente é possível atribuir valores originados de POST ou GET É possível atribuir valores, objetos e arrays em sessão Utilizado para persistir com os dados entre páginas web É gerenciado pelo servidor, e não pelo cliente 6a Questão São marcações utilizadas para indicar ao contêiner como tratar a página em questão. Classes JSP Diretivas Herança Objetos Explicação: As diretivas compreendem a primeira parte do arquivo JSP, como <%@page import="...."%> 7a Questão O ciclo de vida de Java Serves Pages (JSP) é definido em um container web, que realiza a conversão de de todo JSP em um(a): Classe Java String de dados Framework XML Servlet 8a Questão Analise as seguintes afirmações a respeito de JSP, em seguida assinale a opção correta. I. Em uma aplicação Web, há apenas uma diretiva page em cada JSP II. Comentários JSP aparecem na resposta ao cliente III. Os objetos com escopo session duram por toda a sessão de navegação do cliente Apenas a afirmação I é verdadeira. Apenas a afirmação II é verdadeira. Apenas a afirmação III é verdadeira. As afirmações I e II são verdadeiras. As afirmações I, II e III são verdadeiras. Exercício: CCT0780_EX_A4_201702138501_V3 18/10/2018 13:49:53 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão Marque a opção correta sobre o conceito JDBC: é o kit de desenvolvimento Java para implementação em dispositivos móveis framework para desenvolvimento web uma classe Java que gera tabelas de banco de dados relacionais são metadados sobre um objeto de conexão tecnologia que permite aos programas Java interagir com os bancos de dados 2a Questão (TRE-RR/2015) A interface PreparedStatement do Java permite executar instruções SQL parametrizadas, ou seja, que primeiro são construídas e depois recebem parâmetros. Neste contexto, considere que no bloco de código abaixo con é um objeto da interface Connection que representa uma conexão com um banco de dados, estabelecida com sucesso: String sql = "insert into contatos (nome, email, endereco) values (_I_, _II_, _III_); PreparedStatement stmt = con.prepareStatement(sql); stmt.setString(1,"Paulo"); stmt.setString(2, "paulo@email.com.br"); stmt.setString(3, "Rua Vergueiro, 1567"); stmt.execute(); No bloco de código apresentado, as lacunas I, II e III devem ser preenchidas, correta e respectivamente, com: ? ${1}, ${2}, ${3} "Paulo", "paulo@email.com.br", e "Rua Vergueiro, 1567" * 1, 2, 3 3a Questão Para conectar uma aplicação ao banco de dados usamos drivers do tipo JDBC. Precisamos executar scripts SQL para acessarmos bancos relacionais e mantermos as informações. Quando estamos fazendo uma consulta, utilizamos um método específico, e quando queremos nos proteger de SQL Injection escolhemos um tipo que já possui tratamento para tal. Estamos nos referindo a: executeQuery - PreparedStatement executeUpdate - Statement executeQuery - Statement executeSQL - PreparedStatement executeSQL - Statement Explicação: O comando executeQuery efetua a consulta e retorna um ResultSet. Quanto ao PreparedStatement, ele permite a criação de SQL parametrizado. 4a Questão 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: ServletException e ArithmeticException ClassNotFoundException e ArithmeticException SQLException e ClassNotFoundException ClassNotFoundException e ServletException SQLException e ServletException 5a Questão Baseado na linha de comando abaixo, marque qual deve ser o comando seguinte: st = Conexao.getConection().createStatement(); List = st.executeUpdate("select * from ALUNOS"); ResultSet rs = st.executeQuery("select * from ALUNOS"); List = st().executeUpdate("select * from ALUNOS"); ResultSet rs = st.executeUpdate("select * from ALUNOS"); List = st.executeQuery("select * from ALUNOS"); 6a Questão Qual a classe de JDBC é responsável pela interface entre os clientes e os drivers JDBC? EntityManagerFactory EntityManager PreparedStatement DriverManager ResultSet 7a Questão É um dos cinco elementos básicos que nos permitem manipular bancos de dados através da API JDBC. TagLib DriverManager Servlets SGBD JSP Explicação: A função primária do DriverManager é obter conexões com o banco a partir do driver JDBC e a string de conexão. 8a Questão A persistência em Banco de Dados é uma constante em programas de automação comercial. Porém certas interfaces e classes geram dúvidas para programadores iniciantes. Entres elas encontra-se a Statement. Dada as alternativas abaixo, selecione a que define Statement. Implementado quando você deseja acessar banco de dados procedimentos armazenados. Também pode aceitar parâmetros de entrada em tempo de execução. Representa uma conexão a um banco de dados, a partir de uma URL JDBC recebida como parâmetro. Implementado quando você planeja usar as instruções SQL muitas vezes. Aceita parâmetros de entrada em tempo de execução. Implementado para acesso de uso geral do banco de dados. É útil quando você estiver usando as instruções SQL estáticas no tempo de execução. Não pode aceitar parâmetros. É responsável por fornecer a conexão de uma aplicação Java com o Banco de dados Exercício: CCT0780_EX_A5_201702138501_V3 18/10/2018 13:52:51 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão A API Hibernate é usada para que finalidade em uma aplicação web? Realiza o mapeamento objeto-relacional, permitindo não usar SQL no código. Fornece principalmente suporte de log e testes de aplicações web. Encapsula o paradigma MVC fornecendo suporte para a implementação deste padrão. Faclita o manuseio de objetos de interface com o usuário, tornando mais veloz a criação das interfaces. Essencialmente como uma API de segurança fornece recursos de identificação de invasões. Explicação: O framework Hibernate foi um dos primeiros a efetuar o mapeamento objeto-relacional de forma simples. Inicialmente utilizava XML, e hoje em dia trabalha com as anotações do JPA. 2a Questão Um elemento de grande relevância para a programação em qualquer linguagem da atualidade é o mapeamento objeto-relacional, responsável pela visualização e manipulação dos registros de bancos relacionais em termos de objetos da linguagem. Um exemplo deste tipo de ferramenta é o JPA, utilizado na linguagem Java, o qual usa coleções para receber relações do tipo ¿um-para-muitos¿. Assinale a alternativa CORRETA com relação às coleções Java: As coleções do tipo Set são uma das possíveis implementações de HashSet. As coleções do tipo LinkedList são implementadas com arrays, sendo muito utilizadas. As coleções do tipo Set permitem objetos em duplicidade. As coleções do tipo Map armazenam pares (chave, valor), onde estes podem ser qualquer tipo de objeto. As coleções do tipo TreeMap são implementadas com uso de árvores AVL. 3a Questão Metadados, inseridos no código fonte com o intuito de trazer alguma informação adicional sobre o código que está sendo escrito: Classes Comentários JPA Generics Anotações 4a Questão A utilização de JPA é baseada em anotações sobre POJOs. Abaixo são apresentadas algumas anotações do JPA e descrições de funcionalidades. Marque a opção que expressa o correto relacionamento entre cada anotação e sua funcionalidade. I - @OneToMany II - @Table III - @GeneratedValue a. Utilizada para refletir valores gerados automaticamente, com auto-incremento. b. Indica que uma determinada entidade será persistida em uma tabela. c. Define uma relação de um-para-muitos. I - a , II - b , III - c I - c , II - a , III - b I - a , II - c , III - b I - b , II - a , III - c I - c , II - b , III - a 5a Questão Qual das seguintes anotações de JPA permite especificar que uma classe deve ser mapeada para o modelo relacional? @Column @GeneratedValue @Entity @SupressWarning @Id Explicação: Uma classe anotada com @Entity funciona como uma entidade mapeada para a estrutura relacional. 6a Questão Interface que representa um grupo de objetos únicos, isto é, não podem existir objetos em duplicidade dentro do conjunto: Vector List ArrayList Collection Set 7a Questão Com base na classe abaixo declarada: @Entity public class Aluno{ @Id private int mat; private int numero; // demais declarações } Assinale a afirmativa falsa. A chave primária da entidade Aluno corresponde ao atributo mat A anotação @Entity indica que a classe Aluno é uma entidade simples No Mapeamento Objeto Relacional, os objetos da classe Aluno correspondem aos registros da tabela aluno. A chave primária da entidade Aluno corresponde ao atributo numero. A classe Aluno representa uma entidade de persistência de dados. 8aQuestão 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(); Connection; Statement; execute Database; Entity; put EntityManagerFactory; EntityManager; persist EntityFactory; EntityManager; save EntityManager; Command; insert 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. Exercício: CCT0780_EX_A6_201702138501_V1 18/10/2018 11:41:03 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão Quando uma Aplicação Web é criada, usualmente são utilizados três tipos de elementos: páginas JSP, Servlets e classes de entidade (beans). Cada um destes elementos pode ser, usualmente, associado às seguintes camadas do modelo MVC, respectivamente: Visão, Controle e Modelo Visão, Modelo e Controle Controle, Visão e Modelo Modelo, Visão e Controle Modelo, Controle e Visão 2a Questão O Padrão DAO - Data Access Objects - é bastante útil na implementação de sistemas que seguem a arquitetura MVC II. Indique a afirmativa que NÃO representa uma vantagem do padrão DAO: Elimina a necessidade de lidar com comandos de baixo nível como queries SQL. Facilita o reaproveitamento de código de acesso ao banco de dados. Simplifica a substituição de um gerenciador de banco de dados por outro. Centraliza o código de acesso ao banco de dados, facilitando a manutenção. Torna o acesso ao banco de dados "transparente" para o restante do sistema. 3a Questão Sobre o padrão MVC podemos afirmar que: "M" no modelo MVC representa as classes de modelo que buscam realizar a comunicação entre as interfaces com o usuário e as classes de entidade. As classes de entidade são responsáveis pelas interfaces com o usuário do sistema. As classes de interface representam o C do modelo MVC. Um controlador é o responsável pela troca de informações entre as classes de visão e de modelo. Um código jsp é um exemplo clássico de uma classe de modelo. Explicação: No padrão MVC a camada de persistência (Model) não pode ser acessada diretamente pela interface (View), sendo necessária a intermediação pelo controlador (Control). 4a Questão No projeto de arquitetura modelo-visão-controle (MVC), o controlador encapsula funcionalidades e objetos de conteúdo, o modelo renderiza a interface de usuário a partir da visão e a visão processa e responde a eventos e invoca alterações ao controlador. renderiza a interface de usuário a partir da visão, o modelo encapsula funcionalidades e objetos de conteúdo e a visão processa e responde a eventos e invoca alterações ao controlador. encapsula funcionalidades e objetos de conteúdo, o modelo processa e responde a eventos e invoca alterações ao controlador e a visão renderiza a interface de usuário a partir do modelo. processa e responde a eventos e invoca alterações ao modelo, o modelo encapsula funcionalidades e objetos de conteúdo e a visão renderiza a interface de usuário a partir do modelo. processa e responde a eventos e invoca alterações ao modelo, o modelo renderiza a interface de usuário a partir da visão e a visão encapsula funcionalidades e objetos de conteúdo. 5a Questão Assinale a opção que apresenta apenas padrões de responsabilidade, segundo a classificação de Metsker: Decorator, Iterator e Visitor Singleton, Proxy e Facade Builder, Prototype e Memento Adapter, Facade e Bridge Singleton, Proxy e Flyweight 6a Questão No desenvolvimento de uma aplicação web escrita em Java, foi identificada a necessidade de se criar um objeto que receba todas as requisições vindas dos usuários e, após uma avaliação, decida qual servlet deve processar cada requisição. Qual padrão de projeto pode ser aplicado para resolver este problema? Data Transfer Object Abstract Factory Data Access Object Front Controller Model View Controller Explicação: O padrão Front Control concentra as chamadas do usuário, e após delegar o processamento para a camada de controle, envia os resultados para as Views corretas. 7a Questão Padrão de Projeto é uma solução geral reutilizável para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software dentre os mais conhecidos, qual aquele que visa assegurar que uma classe tenha somente uma instância, fornecendo um ponto global de acesso esse objeto? Abstract Factory Factory Method Prototype Builder Singleton 8a Questão Qual a maior vantagem no uso do padrão de projeto Data Access Object? Esconder os detalhes de implementação da camada de armazenamento do resto da aplicação Garantir acesso seguro aos dados, através da aplicação de criptografia de mão única Garantir que o mapeamento objeto-relacional seja devidamente efetuado Permitir que dados sejam acessados pelos objetos Fazer conexão com bancos de dados relacionais Explicação: Em palavras simples, o padrão DAO visa encapsular os acessos ao banco de dados. Exercício: CCT0780_EX_A6_201702138501_V1 18/10/2018 11:41:03 (Finalizada) Aluno(a): LUIZ ADOLFO TUCUNDUVA 2018.3 EAD Disciplina: CCT0780 - PROGRAMAÇÃO CLIENTE SERVIDOR 201702138501 1a Questão Quando uma Aplicação Web é criada, usualmente são utilizados três tipos de elementos: páginas JSP, Servlets e classes de entidade (beans). Cada um destes elementos pode ser, usualmente, associado às seguintes camadas do modelo MVC, respectivamente: Visão, Controle e Modelo Visão, Modelo e Controle Controle, Visão e Modelo Modelo, Visão e Controle Modelo, Controle e Visão 2a Questão O Padrão DAO - Data Access Objects - é bastante útil na implementação de sistemas que seguem a arquitetura MVC II. Indique a afirmativa que NÃO representa uma vantagem do padrão DAO: Elimina a necessidade de lidar com comandos de baixo nível como queries SQL. Facilita o reaproveitamento de código de acesso ao banco de dados. Simplifica a substituição de um gerenciador de banco de dados por outro. Centraliza o código de acesso ao banco de dados, facilitando a manutenção. Torna o acesso ao banco de dados "transparente" para o restante do sistema. 3a Questão Sobre o padrão MVC podemos afirmar que: "M" no modelo MVC representa as classes de modelo que buscam realizar a comunicação entre as interfaces com o usuário e as classes de entidade. As classes de entidade são responsáveis pelas interfaces com o usuário do sistema. As classes de interface representam o C do modelo MVC. Um controlador é o responsável pela troca de informações entre as classes de visão e de modelo. Um código jsp é um exemplo clássico de uma classe de modelo. Explicação: No padrão MVC a
Compartilhar