Buscar

programação cliente servidor

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 73 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 73 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 73 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Outros materiais