Buscar

A2-DESENVOLVIMENTO DE APL DISTRIBUÍDAS E WEB II

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

Prévia do material em texto

A2 – June, 2020
• 1) 
O objeto HttpSession é utilizado para o gerenciamento de sessões. Uma sessão apresenta
informação específica para um usuário em particular por meio de toda uma aplicação.
Quando um usuário entra em um site ou aplicação na internet pela primeira vez, ele recebe
um identificador único de sessão. Esse identificador único pode ser armazenado em um
cookie ou em um parâmetro request.
Marque a alternativa que corretamente cria um novo objeto de sessão no trecho de código a
ser substituído a seguir:
 protected void doGet(HttpServletRequest request, HttpServletResponse response) { 
 // trecho de código a ser substituído
 ...
 }
• A) HttpSession session = request.getSession(“nova sessão”) 
• B) HttpSession session = response.getSession(true) 
• C) HttpSession session = request.getSession(true) 
• D) session.invalidate( ) 
• E) session.getAttribute(String nome) 
Resposta correta: 
 HttpSession session = request.getSession(true). session session = request.getSession(true). = request.getSession(true). request.getSession session = request.getSession(true).(true). 
Deve ser enviada uma requisição ao servidor para a criação de uma nova sessão com o parâmetro 
true.
Distratores:
 HttpSession session = request.getSession(true). session session = request.getSession(true). = request.getSession(true). request.getSession session = request.getSession(true).(“n session = request.getSession(true).ova sessão”). sessão”). 
Errada, pois o getSession deve receber o parâmetro true para a criação de uma nova sessão.
 HttpSession session = request.getSession(true). session session = request.getSession(true). = request.getSession(true). respon session = request.getSession(true).se.getSession session = request.getSession(true).(“n session = request.getSession(true).ova sessão”). sessão”). 
Errada, pois deve ser enviada uma requisição (request) ao servidor.
 session session = request.getSession(true)..getAttribute(Strin session = request.getSession(true).g n session = request.getSession(true).ome). 
Errada, pois é utilizada para recuperar o nome do usuário na sessão.
 session session = request.getSession(true)..in session = request.getSession(true).va sessão”).lida sessão”).te( ). 
Errada, pois é utilizada para invalidar uma sessão. 
• 2) 
A tecnologia JSP é um elemento essencial na arquitetura de alto nível para aplicações na
Web, apresentando uma forma simples e dinâmica para gerar páginas para a internet. É
muito importante a utilização de frameworks e containers para facilitar o desenvolvimento
de aplicações Java.
De acordo com os frameworks e as características do Java Enterprise Edition, entende-se
que:
• A) Enterprise JavaBeans é um modelo de componentes padronizado, ou seja, um 
componente da plataforma JEE que roda fora de um container de um servidor de 
aplicação. 
• B) Todo servlet deve ter um construtor sem argumentos para que seja criado por um 
container e, após a criação, o servlet container irá inicializar o Servlet com o método 
destroy( ). 
• C) Struts é um framework de persistência, numa estrutura de acordo com o padrão 
Model 2, de aplicações web desenvolvido em qualquer tecnologia. 
• D) O container é responsável por gerenciar uma parte do ciclo de vida dos 
componentes web. 
• E) No container web, uma página JSP transforma-se em um servlet, que é compilado,
carregado e inicializado. 
Resposta correta: 
- No container web, uma página JSP transforma-se em um servlet, que é compilado, carregado e 
inicializado.
É necessário que as páginas JSP sejam desenvolvidas e, posteriormente, disponibilizadas em um 
container para que sejam instanciadas, inicializadas e compiladas. 
Distratores:
- O container é responsável por gerenciar uma parte do ciclo de vida dos componentes web. 
Errada, pois um container é responsável por gerenciar todo o ciclo de vida dos componentes web.
- Enterprise JavaBeans é um modelo de componentes padronizado, ou seja, um componente da 
plataforma JEE que roda fora de um container de um servidor de aplicação. 
Errada, pois Enterprise JavaBeans é um modelo de componentes padronizado, ou seja, um 
componente da plataforma JEE que roda em um container de um servidor de aplicação.
- Struts é um framework de persistência, numa estrutura de acordo com o padrão Model 2, de 
aplicações web desenvolvido em qualquer tecnologia. 
Errada, pois Struts é um framework de persistência, numa estrutura de acordo com o padrão Model 
2, de aplicações web desenvolvido na tecnologia Java.
- Todo servlet deve ter um construtor sem argumentos para que seja criado por um container e, após 
a criação, o servlet container irá inicializar o Servlet com o método destroy( ). 
Errada, pois, após a criação, o servlet container inicializa a Servlet com o método init(ServletConfig
config). 
• 3) 
O servidor Apache é um dos servidores mais utilizados no mundo. Sua grande popularidade
deve-se ao fato de ser distribuído sob a licença GNU. Dessa forma, seu código-fonte pode
ser modificado por qualquer pessoa. Outro servidor muito utilizado no mercado de trabalho
é o Tomcat. Ele também é um servidor web desenvolvido pela Apache Software Foundation.
Assim como o servidor Apache, ele também é um servidor HTTP, servindo aplicações com a
plataforma Java.
Diante do exposto, analise as seguintes considerações sobre o servidor Apache:
I. O servidor Tomcat não trabalha com aplicações Java, enquanto o Apache necessita de 
muitos recursos e hardware para que possa ser utilizado e para que regras de segurança e de 
novos serviços sejam implementadas.
II. Funciona com uma estrutura de módulos, o que possibilita que novos módulos sejam 
inseridos por meio de APIs.
III. Fornece autenticação aos usuários, solicitando login e senha, que serão validados para o 
acesso a algum arquivo.
É correto o que se afirma em:
• A) II e III, apenas. 
• B) I, II e III. 
• C) I e III, apenas. 
• D) Somente III. 
• E) I e II, apenas. 
Resposta correta: II e III, apenas.
A afirmativa II está correta, pois o servidor web Apache trabalha muito bem com a estrutura de 
módulos, permitindo a configuração de novos módulos pelo usuário e a oferta de novos serviços.
A afirmativa III está correta, pois o servidor Apache permite que sejam colocados usuário e senha 
para acesso ao servidor, diretórios e arquivos, permitindo maior segurança.
Distratores:
A afirmativa I está incorreta, pois o servidor Apache necessita, na realidade, de pouquíssimos 
recursos computacionais para sua execução. 
• 4) 
No desenvolvimento de uma aplicação web, o conteúdo dos arquivos HTML pode ser
gerado dinamicamente de diversas maneiras, e várias linguagens de programação que são
executadas em um servidor de aplicação podem ser utilizadas para tal geração. Para o
desenvolvimento de aplicações web, podemos utilizar algumas tecnologias disponíveis para
a geração de conteúdos dinâmicos que são executadas no servidor e apresentadas ao usuário.
Considerando que uma organização deseja parar de usar conteúdo de dados estáticos e
necessita que servidores sejam instalados e configurados em sua infraestrutura e que
sistemas gerenciadores de banco de dados sejam utilizados para o armazenamento dos dados
provenientes de conteúdo dinâmico gerado por páginas JSP, analise as seguintes proposições
de acordo com a tecnologia a ser adotada:
I. A tecnologia JSP não disponibiliza acesso nativo a sistemas gerenciadores de banco de
dados, bem como o acesso a arquivos, pois ela trabalha somente com a captura de dados dos
usuários disponíveis em formulários web.
II. A tecnologia JSP apresenta sérios problemas para ser codificada, dificultando muito a
elaboração e a manutenção da página dinâmica, pois é mais difícil de ser manipulada do que
servlets.
III. JSP é a tecnologia utilizada para exibir conteúdo dinâmico para o usuário na qual a
lógica de programação e os dados são armazenados e processadosdo lado do servidor, sendo
apropriada para ser utilizada com o padrão Model View Controller – MVC.
É correto o que se afirma em:
• A) II, apenas. 
• B) I e III, apenas. 
• C) I e II, apenas. 
• D) III, apenas. 
• E) II e III, apenas. 
Resposta correta: III, apenas.
A afirmativa III está correta, pois, para clientes HTML, recomenda-se a utilização do modelo MVC,
com um servlet servindo de controlador e páginas JSP responsáveis pela camada de visão.
Distratores:
A afirmativa II está incorreta, pois a tecnologia JSP é muito fácil de ser codificada e, 
consequentemente, facilita bastante a etapa de manutenção do software, além de ser mais fácil de 
ser manipulada do que servlets.
A afirmativa I está incorreta, pois a tecnologia JSP permite o acesso nativo a SGBDs, arquivos e 
dados em formulários web. 
• 5) 
Páginas JSP representam uma ótima alternativa ao uso de servlet quando sua função 
principal for gerar uma página ou um formulário HTML. Analise o seguinte trecho de 
código JSP:
<html>
 <head>
 <title>Welcome</title>
 </head>
 <body>
 <center>Welcome</center>
 <%= new Date() %>
 </body>
</html>
 
Considerando que a classe Date pertence ao pacote ‘java.util’, se for modificando o código
marcado para que a página JSP possa ser compilada e executada, ficará da seguinte forma:
• A) new java.util.Date( ) 
• B) new java.util.Data( ) 
• C) import java.util.Date( ) 
• D) java.util.Date( ) 
• E) import java.util.Data( ) 
Resposta correta:
 n session = request.getSession(true).ew java.util.Date( ) ja sessão”).va sessão”)..util.Da sessão”).te( )
Correta pois é necessário também importar um método da Classe Date.
Distratores:
 import ja sessão”).va sessão”)..util.Da sessão”).ta sessão”).( ).
Errada, pois o import não é utilizado para incluir métodos de classes no corpo do código e o nome 
correto é Date( ). O import é utilizado para importar classes de um pacote.
 n session = request.getSession(true).ew java.util.Date( ) ja sessão”).va sessão”)..util.Da sessão”).ta sessão”).( ).
Errada, pois o nome do método correto é Date( ).
 import ja sessão”).va sessão”)..util.Da sessão”).te( ). 
Errada, pois o import não é utilizado para incluir métodos no código. O import é utilizado para 
importar classes de um pacote.
 ja sessão”).va sessão”)..util.Da sessão”).te( ).
Errada, pois faltou o new para instanciar o objeto. 
• 6) 
A linguagem Java é uma plataforma de desenvolvimento que é muito utilizada no mercado
de trabalho por causa de sua facilidade de uso em diferentes plataformas. Tem uma
característica importante, que é a portabilidade. Considere o cenário de uma organização que
necessite desenvolver uma nova aplicação que seja utilizada por seus clientes espalhados
pelas capitais da América do Sul, independentemente da configuração de plataforma
utilizada, tanto em relação ao sistema operacional (Windows, Linux etc.) ou como ao
hardware (Intel, Macintosh etc.), entre outros.
Como proposta de solução, foi apresentada a linguagem de programação Java. Analise as
seguintes colocações sobre essa linguagem:
I. Diferentemente de muitas linguagens de programação, a linguagem Java é compilada e
também interpretada para diferentes plataformas.
II. Máquina virtual é uma aplicação capaz de ler classes Java no formato de bytecode e
transformá-las em código nativo para a plataforma-alvo, possibilitando que diferentes
plataformas tenham suas próprias máquinas virtuais. 
III. Para obter portabilidade, é desenvolvida uma máquina virtual Java para cada plataforma.
Pode-se afirmar que essa é a grande vantagem da linguagem de programação Java sobre as
demais linguagens de programação.
IV. A máquina virtual Java é utilizada exclusivamente em computadores que
utilizam somente o sistema operacional Windows e o hardware Intel.
Está correto o que consta em: 
• A) I e IV, somente. 
• B) III e IV, somente. 
• C) I, II e III, somente. 
• D) II e III, somente. 
• E) I, II, III e IV. 
Resposta correta: I, II e III, somente.
A afirmativa I está correta, pois a linguagem Java é compilada no servidor e interpretada na 
máquina do cliente.
A afirmativa II está correta, pois existe uma JVM para Windows e Linux que é capaz de executar o 
mesmo bytecode Java. 
A afirmativa III está correta, pois o grande diferencial da linguagem de programação Java é o fato 
de poder ser executada em qualquer plataforma que tenha sua JVM.
Distratores:
A afirmativa IV está incorreta, pois a máquina virtual Java roda em todas as plataformas, existindo 
uma máquina virtual para cada plataforma. 
• 7) 
A tecnologia de desenvolvimento Java é independente da plataforma usada pelo usuário,
podendo ser utilizada para o desenvolvimento de pequenas aplicações, para o
desenvolvimento de aplicações robustas e também no desenvolvimento de aplicações que
rodam em dispositivos.
Diante do exposto, pode-se afirmar que a tecnologia Java é basicamente dividida em:
I - JSE.
II - JEE.
III - JME.
IV - JDE.
V - Java Applet.
VI - Jude.
É correto o que se afirma em:
• A) III, IV e VI, apenas. 
• B) I, II e III, apenas. 
• C) V, apenas. 
• D) IV, V e VI, apenas. 
• E) I, apenas. 
Resposta correta: I, II e III, apenas.
As afirmativas I, II e II estão corretas porque as tecnologias que compõem Java são: Java Standard 
Edition (JSE), Java Enterprise Edition (JEE) e Java Micro Editon (JME). JSE é voltada para 
aplicações cliente; JEE é usada para o desenvolvimento de aplicações servidoras; JME é voltada 
para o desenvolvimento de pequenos dispositivos.
Distratores:
A afirmativa IV está errada porque a sigla JDE não se refere a uma plataforma de desenvolvimento 
Java. Ela se refere a Java Development Envrinonment, que é um Pacote Emacs Lisp que faz a 
interface entre o Emacs com ferramentas de desenvolvimento de aplicativos Java.
A afirmativa V está errada porque Java Applet não se refere a uma plataforma utilizada pela 
tecnologia Java. É um aplicativo que executa uma tarefa específica no contexto de um software 
cliente maior.
A afirmativa VI está errada porque Jude não se refere a uma plataforma utilizada pela tecnologia 
Java. É uma ferramenta para modelagem de diagramas UML. 
• 8) 
O Java Server Pages — JSP foi criado com a intenção de resolver o problema da separação
da lógica de processamento da formatação de apresentação. Ele é uma extensão dos
servlets. 
Com o uso de Java Server Pages, determine a alternativa que descreva as instruções
necessárias para instanciar um objeto de uma classe Java Bean com o nome de
Cliente(código 001) e guarde na sessão o valor da propriedade “nome”:
• A) <%Cliente cli = new Cliente(001);String nome = 
cli.getNome( );session.setAttribute( );%> 
• B) <%Cliente cli = new Cliente(001);session.setAttribute(“nome”, nome);%> 
• C) <%String nome = cli.getNome( );session.setAttribute(“nome”, nome);%> 
• D) <%Cliente cli = new Cliente(001);String nome = 
cli.getNome( );session.setAttribute(“nome”, nome);%> 
• E) <%Cliente cli = new Cliente( );String nome = 
cli.getNome( );session.setAttribute(“nome”, nome);%> 
Resposta correta: 
 <%Clien session = request.getSession(true).te cli = request.getSession(true). n session = request.getSession(true).ew java.util.Date( ) Clien session = request.getSession(true).te(001);Strin session = request.getSession(true).g n session = request.getSession(true).ome = request.getSession(true).
 cli.getNome( );session session = request.getSession(true)..setAttribute(“n session = request.getSession(true).ome”, nome);%> n session = request.getSession(true).ome);%> 
Um novo cliente denominado de "cli" está sendo inicializado com o valor 001. E, utilizando o 
setAttribute( ), o valor da propriedade "nome" é armazenado na sessão.
Distratores:
 <%Strin session = request.getSession(true).g n session = request.getSession(true).ome = request.getSession(true).cli.getNome( );session session = request.getSession(true)..setAttribute(“n session = request.getSession(true).ome”, nome);%> n session = request.getSession(true).ome);%> 
Errada, pois faltou instanciar o objeto Cliente.
 <%Clien session = request.getSession(true).te cli = request.getSession(true). n session = request.getSession(true).ew java.util.Date( ) Clien session = request.getSession(true).te(001);session session = request.getSession(true)..setAttribute(“n session = request.getSession(true).ome”, nome);%> n session = request.getSession(true).ome);%>
Errada, pois faltou criar a propriedade nome.
 <%Clien session = request.getSession(true).te cli = request.getSession(true). n session = request.getSession(true).ew java.util.Date( ) Clien session = request.getSession(true).te( );Strin session = request.getSession(true).g n session = request.getSession(true).ome = request.getSession(true).
 cli.getNome( );session session = request.getSession(true)..setAttribute(“n session = request.getSession(true).ome”, nome);%> n session = request.getSession(true).ome);%>
Errada, pois faltou passar o valor(001) da classe Cliente.
 <%Clien session = request.getSession(true).te cli = request.getSession(true). n session = request.getSession(true).ew java.util.Date( ) Clien session = request.getSession(true).te(001);Strin session = request.getSession(true).g n session = request.getSession(true).ome = request.getSession(true).
 cli.getNome( );session session = request.getSession(true)..setAttribute( );%>
Errada, pois faltou atribuir a propriedade nome em setAttribute(“nome”, nome).

Continue navegando