Buscar

exercicio PROGRAMAÇÃO CLIENTE SERVIDOR 1 a 5

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 36 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 36 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 36 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

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. 
 
 
Sobrescrita 
 
Abstração 
 
Polimorfismo 
 
Encapsulamento 
 
Sobrecarga 
 
 
 2a 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: 
 
 
I e II são verdadeiras 
 
I é verdadeira 
 
III é verdadeira 
 
I e III são verdadeiras 
 
II é verdadeira 
 
 
 3a Questão 
 
"Uma classe que não pode ser estendida, podendo apenas ser instanciada". Assinale a 
alternativa que indica esse tipo de classe. 
1a Questão 
 
 
 
 
 
Classe abstrata 
 
Classe concreta 
 
Classe filha 
 
Interface 
 
Classe final 
 
 
 4a Questão 
 
O comando break tem a função de: 
 
 
Segmentar a execução de um loop em duas ou mais partes aninhadas 
 
Impossibilitar o aninhamento de loops não lógicos 
 
Estabelecer um intervalo de depuração durante a execução de um loop 
 
Interromper 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 filhas 
 
Interfaces 
 
Classes abstratas 
 
Classes concretas 
 
Classe derivadas 
 
 
 
 
 6a 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 II e III estão corretas. 
 
Apenas I e III estão corretas. 
 
Apenas I e II estão corretas. 
 
Todas as afirmativas estão corretas. 
 
 
 7a Questão 
 
Podemos dizer que é um modelo para criação de objetos. 
 
 
Classe 
 
Objeto 
 
Conexão 
 
Polimorfismo 
 
Herança 
 
 
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. 
 
 
 8a 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 
 
sobrecarga 
 
polimorfismo 
 
encapsulamento 
 
derivação de classes 
 
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. 
 
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. 
 
Java é uma linguagem naturalmente menos organizada, não 
possuindo recursos clássicos de C/C++ como, por exemplo, os pacotes 
e classes. 
 
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. 
 
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. 
 
 
 2a Questão 
 
 
 
Qual técnica permite que vários métodos tenham o mesmo identificador, variando 
somente sua assinatura? 
 
 
Sobrescrita 
 
Herança 
 
Sobrecarga 
 
Polimorfismo 
 
Encapsulamento 
 
 
 3a 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. 
 
 
A cláusula try sempre é executada. 
 
As exceções em Java são fixas e não é possível definir novas exceções. 
 
A cláusula catch nem sempre é executada. 
 
A cláusula finally é sempre executada mesmo quando existente em um bloco 
try/catch. 
 
Uma exceção é sempre um objeto do tipo Throwable 
 
 
 4a Questão 
 
"Método que não pode ser sobrescrito". Assinale a alternativa que indica esse tipo de 
método. 
 
 
Método de trabalho 
 
Método abstrato 
 
Método concreto 
 
Método polimórfico 
 
Método final 
 
 
 
 
 5a 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. 
 
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. 
 
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. 
 
 
 6a Questão 
 
"Uma classe que não pode ser instanciada, podendo apenas ser estendida". Assinale a 
alternativa que indica esse tipo de classe. 
 
 
Interface 
 
Classe concreta 
 
Classe final 
 
Classe pai 
 
Classe abstrata. 
 
 
 7a 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 arquitetura aberta, extensível, com várias implementações. 
 
Tem diversos ambientes de desenvolvimento gratuitos. 
 
 
 
Pode ser baixada gratuitamente. 
 
É uma linguagem multiplataforma. 
 
Conta com ampla documentação e possibilidade de certificação através da 
Microsoft. 
 
 
 8a Questão 
 
Quando falamos das ações que um objeto pode realizar estamos nos referindo a: 
 
 
Atributos 
 
Nível deacesso 
 
Métodos 
 
Herança 
 
Agrupamentos 
 
 
 
Aula 2 
1a 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. 
 
Apresenta o resultado da página na máquina do cliente. 
 
Devolve a response para o cliente que enviou a request. 
 
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. 
 
 
 2a 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 
 
PHP 
 
Java 
 
ASP 
 
 
 3a 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"); 
 } 
 
 
 
O cálculo é realizado através da chamada ao método IMC 
 
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. 
 
A possível exceção é tratada no próprio código 
 
O retorno do código apresentado é uma expressão HTML 
 
 
 
Classes Java são utilizadas para converter os parâmetros recebidos, que chegam 
como String, para os tipos apropriados 
 
 
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. 
 
 
 4a Questão 
 
Em relação a um Servidor de Aplicações JAVA (Contentor JAVA), os seguintes itens 
descrevem o seu funcionamento básico, EXCETO: 
 
 
Repassa a request para o servlet correto. 
 
Mostra o resultado no browser do cliente. 
 
Devolve a response para o cliente que enviou a request. 
 
Aguarda pelas requests. 
 
Recebe a response do servlet. 
 
 
 5a 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) } 
 
 
 
 
RequestDispatcher rd = request.getRequestDispatcher("/contato-
adicionado.jsp"); 
 
RequestDispatcher rd = response.get ResponseDispatcher("/contato-
adicionado.jsp"); 
 
Dispatcher rd = request.getDispatcher("/contato-adicionado.jsp"); 
 
ResponseDispatcher rd = response.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. 
 
 
 6a 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 
 
 
server.xml 
 
manager.xml 
 
contexto.xml 
 
apache-config.xml 
 
web.xml 
 
 
Explicação: 
No arquvo web.xml podem ser definidos elementos como timeout de sessão e 
mapeamento de Servlets. 
 
 
 7a Questão 
 
 
 
Para criar um Servlet é necessário: 
 
 
Implementar o método HttpServletr. 
 
Instanciar a classe Servlet que implemente Serializable. 
 
Criar uma classe que estenda a classe HttpServlet. 
 
Implementar o método Servlet.service(Servlet.HTTP_REQUEST). 
 
Criar uma classe que implemente a interface HttpServlet. 
 
 
 8a Questão 
 
São considerados contêineres JSP/Servlet: 
 
 
Apache Tomcat e Glassfish 
 
HttpServlet e Javascript 
 
Oracle e PostgreSql 
 
métodos e atributos 
 
classe abstrata e interface 
 
a Questão 
 
Ao estudar as especificações e frameworks Java EE, um Analista de Sistemas 
concluiu que: 
 
 
a utilização de Java Persistent API obriga o uso de um container EJB com 
Session Beans 
 
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 
 
no container WEB, uma página JSP transforma-se em um servlet, que é 
compilado, carregado e inicializado 
 
 
 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: 
 
 
O método post não possui limite de tamanho dos dados enviados, o seu limite é 
o tempo de resposta. 
 
Um Servlet pode receber a mesma requisição através dos dois métodos (post e 
get) ao mesmo tempo. 
 
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. 
 
O método get possui limite de caracteres no tamanho da URL chamada. 
 
 
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 
 
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: 
 
 
Jamais um Servlet aciona outro Servlet. Uma vez que um Servlet recebeu uma 
requisição, apenas ele deverá processá-la. 
 
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. 
 
Os Servlets são executados sempre no computador do usuário, nunca no servidor 
da empresa. 
 
Para que um Servletpossa ser executado é necessário que um contentor Java, 
como o TomCat ou GlassFish, esteja em funcionamento. 
 
 
 
 
 4a Questão 
 
São apenas tipos de componentes executados em servidores Web: 
 
 
Beans, Swing e JSP. 
 
Beans, Servlets e J2EE. 
 
Beans, Swing e JVM. 
 
Beans, Servlets e JSP. 
 
JVM, Servlets e JSP. 
 
 
 5a Questão 
 
O que é Servlet ? 
 
 
um software criado pela Sun para desenvolvimento de aplicativos móveis em 
Java 
 
uma classe Java que é carregada e executada por um servidor web 
 
um framework que auxilia no desenvolvimento de aplicações web 
 
uma extensão da classe JFrame 
 
uma arquitetura genérica para web que implementa várias linguagens de 
programação, tais como PHP e o Java 
 
 
 6a Questão 
 
Para recuperar os dados enviados através de uma requisição utiliza-se: 
 
 
parameter.getRequest("nomedoparametro") 
 
request.Parameterget("nomedoparametro") 
 
request.getParameter("nomedoparametro") 
 
parameter.Requestget("nomedoparametro") 
 
getParameter.request("nomedoparametro") 
 
 
 
 
 7a Questão 
 
Qual das afirmativas abaixo é falsa com relação aos Web Servers Java? 
 
 
Todo JSP é transformado pelo contexto em um Servlet. 
 
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. 
 
O principal contexto para Web utilizado é o Tomcat. 
 
Não são capazes de gerenciar estado. 
 
 
 8a 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 e II, somente. 
 
II, somente. 
 
I, somente. 
 
III, somente. 
 
I, II e III. 
 
 
Aula 3 
1a 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 organizar os comandos por pacotes e determinar quais os pacotes que 
deverão exigir o uso de login do usuário. 
 
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. 
 
Podemos criar uma classe de controle de login que será estendida pelos 
comandos que necessitarem de controle de acesso. 
 
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. 
 
Pode ser usado um prefixo para que um conjunto de comandos obrigue que 
determinada varável de sessão exista e possua valor. 
 
 
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. 
 
 
 2a Questão 
 
Na diretiva page, do JSP, podemos utilizar o atributo import que permite 
 
 
importar arquivos htm. 
 
importar figuras. 
 
configurar pacotes. 
 
configurar arquivos html. 
 
importar pacotes. 
 
 
 3a Questão 
 
Assinale a alternativa que possui o conceito incorreto sobre sessão web: 
 
 
Somente é possível atribuir valores originados de POST ou GET 
 
Utilizado para persistir com os dados entre páginas web 
 
Serve para armazenar dados, tais como login, carrinho de compras em lojas 
virtuais, etc. 
 
É gerenciado pelo servidor, e não pelo cliente 
 
É possível atribuir valores, objetos e arrays em sessão 
 
 
 
 
 
 4a 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 
 
 
 
F - F - V -V - F 
 
V - F - F - F - F 
 
V - F - V - V - V 
 
V - V - V - F - V 
 
V - F - V - F - F 
 
 
 5a Questão 
 
Para incluir blocos de código Java em uma página JSP utiliza-se a categoria de tags 
denominada 
 
 
expressões. 
 
scriptlets. 
 
diretivas. 
 
comentários. 
 
declarações. 
 
 
 
 
 6a Questão 
 
Páginas JavaServer Pages são páginas web 
 
 
combinadas com servlets no desenvolvimento exclusivo de páginas estáticas. 
 
interpretadas e não compiladas. 
 
transformadas em bytecode e executadas no cliente 
 
escritas em Java, sem código HTML. 
 
que permitem combinar códigos Java, HTML estático, CSS, XML e JavaScript. 
 
 
Explicação: 
Em termos gerais, o JSP permite o uso de design via XHTML além de códigos Java 
que são executados no servidor. 
 
 
 7a 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: 
 
 
Um JSP não pode trocar informações ou requisições com um Servlet. 
 
Um JSP tem a aparência de um código HTML com alguns trechos de código 
Java. 
 
É possível usar um componente ou uma classe Java por meio de um JSP. 
 
O principal foco de uso do JSP é a criação da interface com o usuário. 
 
Todo arquivo JSP é, em sua primeira execução, convertido para um servlet. 
 
 
 8a Questão 
 
Qual tag do pacote Core da JSTL permite que seja feita uma iteração entre os 
elementos de uma coleção especificada? 
 
 
while 
 
 
 
repeat 
 
loop 
 
forEach 
 
for 
 
 
Explicação: 
O comando forEach permite o passeio nos elementos de uma coleção de objetos. 
 
1a 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 
 
 
As afirmações I, II e III são verdadeiras. 
 
Apenas a afirmação II é verdadeira. 
 
As afirmações I e II são verdadeiras. 
 
Apenas a afirmação I é verdadeira. 
 
Apenas a afirmação III é verdadeira. 
 
 
 2a Questão 
 
A classe HttpSession possui um método que apaga os dados da sessão. Qual é o seu 
nome? 
 
 
removeAttribute() 
 
invalidate() 
 
removeValue() 
 
getSession() 
 
isNew() 
 
 
 
 
 3a Questão 
 
Em termos de JSP, qual estrutura corresponde ao funcionamento que, em um Servlet, 
estaria embutidonos métodos doGet e doPost? 
 
 
Anotações 
 
Diretivas 
 
Comentários 
 
Scriptlets 
 
Declarações 
 
 
 4a Questão 
 
Em JSP, a diretiva taglib define 
 
 
uma biblioteca de tags para serem usadas na página. 
 
um conjunto de classes importadas para serem usadas na página. 
 
uma biblioteca para ser inserida na página. 
 
um módulo logicamente coesivo. 
 
uma nova tag para ser usada na página. 
 
 
 5a Questão 
 
As diretivas são marcações utilizadas para indicar ao container como tratar a página 
em questão. Sobre estas considere os items e veja as opções a seguir indicando as 
associações: 
A - Através dessa diretiva, podemos inserir texto existente em outro arquivo em uma 
página jsp; 
B - São informações de configuração especificas do conteúdo Java existente na 
página, isto é, são as configurações indispensáveis para geração do Servlet 
correspondente. 
C - Essas diretivas indicam quais bibliotecas de tags customizadas iremos utilizar em 
nossa página 
 
 
A - TAGLIB; B - INCLUDE; C - PAGE. 
 
A - INCLUDE; B - PAGE; C - TAGLIB 
 
 
 
A - INCLUDE; B - FRAME; C - TAGLIB 
 
A - TAGLIB; B - PAGE; C - INCLUDE. 
 
A - INSERT; B - FRAME; C - TAGLIB 
 
 
 6a Questão 
 
Quando se desenvolve uma aplicação web, é possível transferir informações entre 
diferentes servlets de duas maneiras: pela requisição e pela sessão. 
Analise as afirmativas a seguir e selecione a alternativa correta: 
I) Os dados armazenados em uma requisição têm um tempo de vida igual ao da 
requisição. 
II) Os dados armazenados na sessão ficam armazenados para sempre, como em um 
banco de dados. 
III) Tanto a requisição quanto a sessão podem ser usados para armazenar o estado de 
uma aplicação, pois os dados permanecem lá até que sejam removidos. 
 
 
Apenas uma afirmativa está correta. 
 
Todas as afirmativas estão corretas. 
 
Apenas I e II estão corretas. 
 
Apenas II e III estão corretas. 
 
Apenas I e III estão corretas. 
 
 
 7a Questão 
 
É característica de um arquivo JSP a 
 
 
execução exclusiva em sistemas Windows. 
 
compilação em um servlet. 
 
presença maciça de código Assembly. 
 
impossibilidade de inclusão de comentários. 
 
execução exclusiva em sistemas Linux. 
 
 
 
 
 8a 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 - b , III - a 
 
I - c , II - a , III - b 
 
I - a , II - b , III - c 
 
I - b , II - a , III - c 
 
I - a , II - c , III - b 
 
Aula 4 
 
1a Questão 
 
Qual a classe de JDBC é responsável pela interface entre os clientes e os drivers 
JDBC? 
 
 
DriverManager 
 
EntityManagerFactory 
 
PreparedStatement 
 
ResultSet 
 
EntityManager 
 
 
 2a Questão 
 
 
 
Baseado na linha de comando abaixo, marque qual deve ser o comando seguinte: 
 
st = Conexao.getConection().createStatement(); 
 
 
ResultSet rs = st.executeQuery("select * from ALUNOS"); 
 
List = st.executeQuery("select * from ALUNOS"); 
 
List = st().executeUpdate("select * from ALUNOS"); 
 
List = st.executeUpdate("select * from ALUNOS"); 
 
ResultSet rs = st.executeUpdate("select * from ALUNOS"); 
 
 
 3a 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. 
 
É 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 quando você deseja acessar banco de dados procedimentos 
armazenados. Também pode aceitar parâmetros de entrada em tempo de 
execução. 
 
 
 4a Questão 
 
É um dos cinco elementos básicos que nos permitem manipular bancos de dados 
através da API JDBC. 
 
 
TagLib 
 
Servlets 
 
JSP 
 
 
 
DriverManager 
 
SGBD 
 
 
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. 
 
 
 5a 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 as buscas sem tratar ou jogar exceções. 
 
Não é possível acessar um SGBD com o JDBC sem indicar seu endereço. 
 
Não é possível realizar uma busca sem realizar uma conexão. 
 
Não é possível construir aplicações para múltiplos SGBDs usando esta API. 
 
 
 6a 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 
 
executeSQL - Statement 
 
executeSQL - PreparedStatement 
 
executeUpdate - Statement 
 
 
 
executeQuery - Statement 
 
 
Explicação: 
O comando executeQuery efetua a consulta e retorna um ResultSet. Quanto ao 
PreparedStatement, ele permite a criação de SQL parametrizado. 
 
 
 7a 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, 
rs.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, 
con.createStatement(),stm.executeQuery, rs.next() 
 
DriverManager.getConnection,Class.forName, 
rs.createStatament(),stm.executeQuery, rs.hasNext() 
 
 
 8a 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 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 
 
O método close() da classe Connection fecha uma conexão com o banco de 
dados 
 
Statement representa uma conexão estabelecida com o Banco de Dados 
 
1a Questão 
 
Marque a opção correta sobre o conceito JDBC: 
 
 
são metadados sobre um objeto de conexão 
 
framework para desenvolvimento web 
 
uma classe Java que gera tabelas de banco de dados relacionais 
 
é o kit de desenvolvimento Java para implementação em dispositivos móveis 
 
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: 
 
 
* 
 
"Paulo", "paulo@email.com.br", e "Rua Vergueiro, 1567" 
 
${1}, ${2}, ${3} 
 
? 
 
1, 2, 3 
 
 
 3a 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: 
 
 
ClassNotFoundException e ArithmeticException 
 
ServletException e ArithmeticException 
 
SQLException e ServletException 
 
ClassNotFoundException e ServletException 
 
SQLException e ClassNotFoundException 
 
 
 4a Questão 
 
Qual das classes abaixo não está relacionada ao uso de banco de dados através do 
JDBC? 
 
 
 
 
DriverManager 
 
HttpRequest 
 
PreparedStatement 
 
Connection 
 
ResultSet 
 
 
Explicação: 
A classe HttpRequest está relacionada às requisições efetuadas via conexões HTTP. 
 
 
 5a 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) Connection (2) Statement (3) ResultSet 
 
(1) DbConnection (2) SqlCommand (3) ResultSet 
 
(1) EntityManager (2) Query (3) List 
 
(1) Connection (2) Command (3) RecordSet 
 
(1) Database (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. 
 
 
 6a 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. 
 
Apenas a afirmação III é verdadeira. 
 
Nenhuma das afirmações é verdadeira. 
 
Apenas a afirmação II é verdadeira. 
 
As afirmações I, II e III são verdadeiras. 
 
 
 7a Questão 
 
Qual a classe de JDBC é responsável pela interface entre os clientes e os drivers 
JDBC? 
 
 
PreparedStatement 
 
EntityManager 
 
EntityManagerFactory 
 
DriverManager 
 
ResultSet 
 
 
 8a 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"); 
 
List = st.executeQuery("select * from ALUNOS"); 
 
ResultSet rs = st.executeQuery("select * from ALUNOS"); 
 
List = st().executeUpdate("select * from ALUNOS"); 
 
ResultSet rs = st.executeUpdate("select * from ALUNOS"); 
 
 
Aula 5 
a 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: 
 
 
@OneToOne expressa relações do tipo um para um. 
 
@ManyToOne expressa relações do tipo muitos para um. 
 
@OneToMany expressa relações do tipo um para muitos. 
 
@OneToMany tem o mapeamento reverso definido como @ManyToOne. 
 
@ManyToOne recebe o valor mapeado através de uma coleção. 
 
 
 2a Questão 
 
Qual das seguintes consultas em JPQL retornaria corretamente todos os alunos que 
cursam o curso de "ADS", admitindo que existe um relacionamento de um para 
muitos entre cursos e alunos? 
 
 
SELECT c 
FROM Curso c 
WHERE c.aluno.nome = "ADS" 
 
SELECT * 
FROM Aluno a 
 
 
INNER JOIN Curso c ON a.cod_curso = c.codigo 
WHERE c.nome = "ADS" 
 
SELECT a 
FROM Aluno a 
WHERE a.nome = "ADS" 
 
SELECT a 
FROM Aluno a 
WHERE a.getCurso().getNome().equals("ADS") 
 
SELECT a 
FROM Aluno a 
WHERE a.curso.nome = "ADS" 
 
 
Explicação: 
Na instrução SELECT a FROM Aluno a WHERE a.curso.nome = "ADS" serão 
selecionados os alunos em que o campo de relacionamento (ManyToOne) curso 
apresenta o nome "ADS". 
 
 
 3a Questão 
 
Qual das seguintes anotações de JPA permite especificar que uma classe deve ser 
mapeada para o modelo relacional? 
 
 
@Id 
 
@GeneratedValue 
 
@Column 
 
@SupressWarning 
 
@Entity 
 
 
Explicação: 
Uma classe anotada com @Entity funciona como uma entidade mapeada para a 
estrutura relacional. 
 
 
 4a Questão 
 
 
 
A anotação @ManyToMany será usada toda vez que quisermos indicar um 
relacionamento do tipo: 
 
 
Muitos para muitos 
 
Muitos para um 
 
Um para muitos 
 
Um para um 
 
Muitos para nenhum 
 
 
 5a Questão 
 
Arquivo de configuração necessário para a configuração das conexões no JPA: 
 
 
context.xml 
 
readme.txt 
 
persistence.xml 
 
web.xml 
 
manifest 
 
 
 6a Questão 
 
A sequencia correta de anotações JPA para a classe abaixo é? 
@1_______ 
@2_______(name="Alunos") 
public class Alunoimplements Serializable{ 
@3_________ 
private String matricula; 
@4_________ 
private String nome; 
@6________(mappedBy="alunos") 
private Set turmas; 
... 
 
 
@Entity, @Table, @Id, @Column, @ManyToMany 
 
@Table, @Id, @Entity, @Column, @ManyToMany 
 
@Entity, @Table, @ManyToMany, @Id, @Column 
 
 
 
@Entity, @Id, @Table, @Column, @ManyToMany 
 
@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. 
 
 
 7a Questão 
 
A API Hibernate é usada para que finalidade em uma aplicação 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. 
 
Fornece principalmente suporte de log e testes de aplicações web. 
 
Realiza o mapeamento objeto-relacional, permitindo não usar SQL no código. 
 
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. 
 
 
 8a 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. 
 
 
@GenerateValue 
 
 
 
@Seed 
 
@Temporal 
 
@Column 
 
@PrimaryKey 
 
1a Questão 
 
A anotação @OneToOne será usada toda vez que quisermos indicar um 
relacionamento do tipo: 
 
 
Um para muitos 
 
Muitos para um 
 
Muitos para muitos 
 
Muitos para nenhum 
 
Um para um 
 
 
 2a 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: 
 
 
Generics 
 
Anotações 
 
Classes 
 
JSP 
 
JPA 
 
 
 3a Questão 
 
Os estados do ciclo de vida de uma instância de uma entidade, definidos na JPA 2.0, 
são 
 
 
gerenciado (managed), temporário (temporary), permanente (permanent) e 
destacado (detached). 
 
 
 
novo (new), temporário (temporary), permanente (permanent) e destacado 
(detached). 
 
novo (new), gerenciado (managed), destacado (detached) e removido (removed). 
 
ativo (active), inativo (inactive) e removido (removed). 
 
novo (new), temporário (temporary) e destacado (detached) 
 
 
 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 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 permitem objetos em duplicidade. 
 
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 TreeMap são implementadas com uso de árvores AVL. 
 
As coleções do tipo Map armazenam pares (chave, valor), onde estes podem ser 
qualquer tipo de objeto. 
 
 
 5a Questã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(); 
 
 
 
 
EntityManagerFactory; EntityManager; persist 
 
Database; Entity; put 
 
EntityFactory; EntityManager; save 
 
EntityManager; Command; insert 
 
Connection; Statement; execute 
 
 
Explicação: 
Um elemento essencial no JPA é a classe EntityManager, responsável pelo manuseio 
das diversas entidades. Objetos desta classe são gerados a partir do 
EntityManagerFactory, e o método persist viabiliza a gravação de uma entidade no 
banco de dados. 
 
 
 6a Questão 
 
A anotação @ManytToOne será utilizada toda vez que quisermos indicar um 
relacionamento do tipo: 
 
 
Muitos para muitos 
 
Muitos para um 
 
Um para um 
 
Cascade 
 
Um para muitos 
 
 
 7a Questão 
 
Arquivo de configuração necessário para a configuração das conexões no JPA: 
 
 
persistence.xml 
 
web.xml 
 
context.xml 
 
manifest 
 
readme.txt 
 
 
 
 
 8a Questão 
 
A anotação @ManyToMany será usada toda vez que quisermos indicar um 
relacionamento do tipo: 
 
 
Muitos para nenhum 
 
Um para um 
 
Um para muitos 
 
Muitos para muitos 
 
Muitos para um

Continue navegando