Cursos / Informática para Internet / Desenvolvimento Web I / Aula

arrow_back Aula 05 - Introdução e Recursos JavaServer Pages

Apresentação

Olá, seja bem-vindo(a) a nossa quinta aula da disciplina de Desenvolvimento Web utilizando a linguagem Java. Até agora, você aprendeu a fazer uso dos Servlets para acessar os parâmetros das requisições web, processá-los e montar as páginas de resposta. Pois bem, os Servlets realmente são a base da programação web em Java, porém, seu uso direto nos leva a alguns problemas.

Um dos principais que podemos perceber com o uso de Servlets puro, ou seja, quando não usamos nenhuma outra tecnologia além dos Servlets, é que o código HTML das páginas de resposta fica embutido dentro do código Java. Essa mistura nos traz diversas dificuldades, como dificuldade de entendimento e manutenção do código e necessidade de reiniciar o servidor web para que alterações de layout do HTML sejam carregadas - caso não esteja desenvolvendo o código em modo de depuração (debug). Nesta aula, você aprenderá a usar uma tecnologia chamada de JavaServer Pages (JSP), visando remover a edição do código HTML de dentro das classes Java.

Imagine que você possua uma empresa desenvolvedora de aplicações para Internet e que exista um projetista web (web designer), ou seja, uma pessoa responsável por fazer a edição das páginas web. Normalmente, essa pessoa tem muito conhecimento de HTML, CSS e de outras tecnologias que tornam as páginas Web bonitas e fáceis de serem utilizadas. Entretanto, os projetistas web geralmente não possuem conhecimento de programação em linguagens de uso geral, como Java, C, .Net etc. Essas pessoas normalmente não têm condições de fazer alterações no código Java da aplicação, mesmo que a alteração seja relativa ao código HTML que está embutido no código do Servlet Java. Dessa forma, qualquer alteração no código HTML, mesmo que simples (ex: mudar um texto em negrito para itálico), requer do programador Java a alteração da classe do Servlet baseado na alteração sugerida pelo projetista web.

Além disso, essa alteração no Servlet requer usualmente que o servidor seja reiniciado, já que uma nova implementação do Servlet precisa ser carregada pelo servidor. Em ambientes de desenvolvimento (usados pelos desenvolvedores), essa carga é feita geralmente de forma automática pelo servidor, mas em ambientes de produção (usados pelos clientes) isso não acontece por questões de desempenho e pelos seguintes inconvenientes causados pelo reinício do servidor:

  • O sistema ficará indisponível para os usuários durante o tempo de reinicialização;
  • As sessões dos usuários serão perdidas, ou seja, os objetos sessão que guardam os estados dos clientes no servidor serão descartados durante a reinicialização do servidor.
    • Dessa forma, os clientes já autenticados no sistema terão que se autenticar novamente.
    • Clientes podem vir a perder dados já digitados. Imagine que um cliente, usando o sistema de cadastro desenvolvido nas aulas anteriores, tenha preenchido a primeira tela de cadastro (dados pessoais) e estivesse preenchendo a segunda tela. Toda essa informação seria perdida durante a reinicialização do serv

Além de todos esses problemas, a mistura do código HTML com o código Java atrapalha também a vida do programador. Imagine como o código Java dos Servlets ficaria menor sem todos aqueles comandos write() que escrevem código HTML.

A tecnlogia JSP é completamente funcional na plataforma Java EE mais recente, entretanto a existe também outra tecnologia chamada JSF (Java Server Faces) como ferramenta para construção de interfaces Web com Java. A base de sistemas utilizando JSP no mundo é muito grande e ainda é uma ótima tecnologia para que seus conhecimentos tenham valor no mercado de trabalho.

Estaremos utilizando JSP em Desenvolvimento Web I também iremos aprender JSF em Desenvolvimento Web II e você aprenderá no final a utilizar ambas as tecnologias.

Objetivos

  • Descrever o funcionamento da solução JSP.
  • Entender a sintaxe utilizada na criação de páginas JSP.

Versão 5.3 - Todos os Direitos reservados