Buscar

DAWeb_Tema_04_TEXTO DE APOIO AO ESTUDO

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

CURSO CIÊNCIA DA COMPUTAÇÃO 
DISCIPLINA: DESENVOLVIMENTO DE APLICAÇÕES WEB 
TEMA: 05 – INTRODUÇÃO AO JAVA PARA APLICAÇÕES WEB 
 
 
TEXTO PARA APOIO AO ESTUDO 
 
1) Contextualização 
 
Relembrando alguns aspectos da tecnologia Java, que é composta por linguagem de programação e 
plataforma. A linguagem de programação Java é de alto nível e orientada a objetos. A Plataforma Java é um 
ambiente particular no qual as aplicações desenvolvidas com a linguagem de programação Java rodam. Há 
diferentes plataformas Java: SE, EE, ME e FX. 
Todas as plataformas consistem de ​Java Virtual Machine (​JVM​) e de ​Application Programming Interface 
(​API​): 
● JVM​ é um programa para um determinado ​hardware​ e Sistema Operacional; 
● Uma ​API é uma coleção de componentes de softwares que podemos utilizar para criar outros 
componentes ou softwares; 
 
Java apresenta a característica de que uma aplicação, desenvolvida em uma plataforma, possa rodar em 
outras compatíveis. 
Quais são as diferenças entre as plataformas Java? Vamos analisar brevemente as características básicas 
destas plataformas: 
 
● Java SE (​Standard Edition​)​: 
○ As APIs de Java SE fornecem as funcionalidades principais da linguagem de programação 
Java; 
○ Consiste de elementos básicos da linguagem de programação até classes utilizadas para 
networking, segurança, acesso a bancos de dados, interface gráfica, etc; 
○ É recomendada para aplicações menores. 
 
● Java EE (​Enterprise Edition​): 
○ Java EE é uma ampliação do Java SE porque incorpora outras funcionalidades; 
○ É possível desenvolver projetos de maior escala; 
○ Recomendado para ambientes corporativos. 
 
● Java ME (​Micro Edition​): 
○ Java ME fornece VM e API específicas para executar aplicações em dispositivos pequenos 
como aparelhos celulares; 
○ A API de Java ME é um subconjunto da API de Java SE e inclui ainda bibliotecas úteis para 
aplicações Mobile; 
○ Recomendado para dispositivos Mobile e sistema embarcados. 
 
● Java FX: 
○ Java FX é uma plataforma para criação de aplicações de internet utilizando uma API de 
interface de usuário mais leve; 
○ Utilizam hardware-acclerated graphics e midia engines para tirar proveito de clientes de 
alto desempenho; 
○ Aplicações Java FX podem ser clientes de serviços da plataforma Java EE. 
 
O que são APIs? E por que usá-las? Se não bastasse a complexidade para se estabelecer a comunicação, 
envolvendo arquiteturas cliente-servidor, protocolos de internet, segurança, entre outros, os sistemas 
desenvolvidos profissionalmente são, normalmente, complexos. 
Então, se pudermos fazer uso de códigos testados e consagrados que realizem parte das tarefas será uma 
vantagem enorme. 
Imaginem se tivéssemos que fazer todos os códigos do zero? Fazer os códigos de comunicação dos 
protocolos de internet e os demais? 
Java, portanto, tem várias APIs e, toda vez que nos depararmos com alguma tarefa que demande uma 
aplicação que ainda não conhecemos, é interessante, primeiro, verificar se existe alguma API que tenha as 
funcionalidades necessárias para a execução dela, ao invés de partir para a implementação. 
Algumas APIs de Java são: 
● Java Servlets; 
● Java Server Pages (JSP); 
● Java Server Faces (JSF); 
● Enterprise Javabeans Components (EJB); 
● Java Persistence API (JPA); 
● Java Transaction API (JTA); 
● Java Message Services (JMS); 
 
Há várias outras APIs. Entretanto, neste curso, estudaremos Servlets e Java Server Pages. 
 
 
 
2) Introdução a Servlets 
 
No passado, a Web lidava com páginas HTML de conteúdos estáticos. Entretanto, pensar na Web 
atualmente significa também pensar em conteúdo dinâmico, ou seja, conteúdos gerados de acordo com as 
requisições dos usuários. 
O usuário (cliente) faz uma requisição ao servidor, que processa o pedido e retorna o conteúdo de acordo 
com a requisição realizada. É nesse nicho de atuação que entram as Servlets. 
Servlets permitem a criação de páginas com conteúdo dinâmico utilizando Java. Por meio da linguagem 
Java, criamos classes que têm, como objetivo, gerar conteúdo HTML dinamicamente. 
Então, Servlets são pequenas aplicações Java que recebem requisições via HTTP, processa e retorna a 
resposta desejada pelo cliente. 
Posteriormente, quando estudarmos o padrão de projeto denominado MVC2, utilizaremos as Servlets com 
funções mais específicas. Por enquanto, vamos considerar que elas serão as responsáveis por lidar com as 
requisições e fornecer a resposta para os clientes por meio de páginas com HTML. 
O cliente faz uma requisição de acesso a uma página web via URL no navegador e o Web Server recebe 
estas requisições dos clientes e envia os dados necessários via protocolo HTTP, conforme ilustra a Figura 1. E as 
Servlets são gerenciadas por um módulo do servidor Web chamado Web container, que é a parte do Web Server 
que interage com as Servlets, permitindo a criação de conteúdo dinâmico. Na Figura 1, há a referência ao servidor 
GlassFish, que pode ser instalado juntamente ou separadamente a interface NetBeans, padrão de IDE adotado para 
o curso. Existem outros servidores que podem ser utilizados. 
 
 
Figura 1 - Ciclo de requisição e resposta. 
 
E o Container pode ser entendido como parte de servidores Web destinados à tarefas específicas como lidar com 
Servlets ou JSP. 
 
 
Figura 2 - Ilustração do Container. 
 
O container transforma a requisição HTTP em um objeto do tipo ​HttpServletRequest​, que será trabalhado 
pela servlet específica, implementada para trabalhar com tal requisição. A servlet então gera o conteúdo dinâmico, 
que é empacotado para um objeto do tipo ​HttpServletResponse​. Depois, o objeto ​HttpServletResponse é 
convertido para uma resposta ​HTTP​, que é finalmente enviada ao cliente. 
HttpServletRequest ​e ​HttpServletResponse ​são funcionalidades da API de Servlets. É importante ter 
familiaridade com estes nomes porque serão muito usados ao gerar os códigos das Servlets. 
 
O Container tem também a responsabilidade pelo gerenciamento do ciclo de vida das Servlets, que está 
ilustrado na Figura 3, contemplando as etapas: ​Delegação​, ​Carregamento​, ​Instanciação​, ​Inicialização​ e ​Execução​. 
 
 
Figura 3 - Ciclo de vida das Servlets. 
 
 
Como Java é uma linguagem orientada a objetos, a criação e tratamento de uma servlet é realizada por 
meio de uma ​classe denominada ​Servlet​. E a classe ​Servlet é uma extensão de ​HttpServlet definida no pacote 
javax.servlet​. 
As requisições a uma servlet são feitas por meio da URL que digitamos nos navegadores: 
 
 
Figura 4 - Requisições via URL. 
 
 
 
Quando um Servidor Web recebe uma requisição, é feita uma análise da URL e verificado se envolve a 
utilização de servlets. Se é necessário utilizar servlets, então a requisição é passada para o Servlet container, que 
verifica qual é o endereço especificado na requisição e faz o mapeamento para a servlet adequada. Portanto, o 
mapeamento faz a ponte de ligação entre a URL e a Servlet. 
O mapeamento pode ser feito de duas formas: 
● Utilizando ​arquivo descritor​ ​web.xml​; 
● Utilizando ​anotação​ ​@WebServlet​ diretamente na classe do servlet (a partir da versão 3.0); 
 
 
Exemplo de mapeamento por ​arquivo descritor​ ​web.xml​, que fica dentro da pasta WEB-INF: 
 
 
Figura 5 - Mapeamento por arquivo descritor. 
 
 
Agora, vamos ver um exemplo de mapeamento por ​anotação ​@WebServletna própria classe que define a 
servlet (a partir da versão 3): 
 
 
Figura 6 - Mapeamento por anotação. 
 
 
As servlets que criamos são extensões da classe abstrata ​HttpServlets que, por sua vez, é uma extensão de 
outra classe abstrata denominada ​GenericServlet​. 
Para implementarmos uma servlet, criamos uma classe Java como extensão da classe ​HttpServlet​, com o 
nome ​PrimeiraServlet​, por exemplo: 
 
 
É preciso especificar o método como as requisições e respostas serão transmitidas via HTTP. No exemplo 
abaixo, o método é Get (doGet): 
 
 
 
O objeto request tem a requisição empacotada. É possível criar um outro objeto de resposta (response) 
dinamicamente, como mostrado: 
 
 
 
Figura 7 - Exemplo de código de Servlet.. 
 
O exemplo acima mostra ainda como criar o fluxo de saída com as tags HTML, que serão utilizadas para 
formar a página exibida para o cliente.

Continue navegando