Baixe o app para aproveitar ainda mais
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).
Compartilhar