Incremente suas aplicações Web com Servlets e Java Server Pages

O fenômeno da Internet trouxe para os desenvolvedores de sistemas pelo menos dois novos desafios: toda aplicação deve ser distribuída (ao contrário das aplicações tradicionais, “monolíticas”, que rodam em um computador isolado.); e toda aplicação é formada pela agregação de um conjunto de tecnologias e linguagens (tradicionalmente bastava dominar uma única tecnologia e linguagem de programação). Surgiu então o conceito de aplicação para web (no original, web application).

A construção de uma aplicação para web é um processo diferente do usado no desenvolvimento de aplicações tradicionais. Nestas, analistas e programadores têm à sua disposição uma biblioteca de classes (no paradigma orientado a objeto) que devem ser usadas para compor uma aplicação que seja executável. Cabe a eles tomar todas as decisões sobre como estruturar a nova aplicação (sua arquitetura, componentes, etc.).

Já para o desenvolvimento de aplicações para web, surge a figura do web designer que exerce uma função específica: projetar o web site. Analistas e programadores, por sua vez, partem de um contexto previamente definido: o sistema será distribuído normalmente usando o modelo cliente-servidor, HTTP será o protocolo de comunicação entre as aplicações (programa cliente e programa servidor), TCP/IP será o protocolo de transporte de dados pela rede, etc. Além disso, em muitos casos, o programa cliente, estritamente falando, é o próprio browser do usuário. Quanto ao programa servidor, muitas das tarefas rotineiras (carregamento inicial, configuração, definição de logs, mecanismos de autenticação de usuários, etc.) já estão previamente implementadas. Cabe aos analistas e programadores focar sua atenção quase que exclusivamente nas especificidades da aplicação a ser desenvolvida e saber interagir com o web designer.

O Software Tomcat

O software Tomcat, desenvolvido pela Fundação Apache, permite a execução de aplicações para web. Sua principal característica técnica é estar centrada na linguagem de programação Java, mais especificamente nas tecnologias de Servlets e de Java Server Pages (JSP). Esta abordagem rivaliza, por exemplo, com a usada pela Microsoft com o ASP (baseada na linguagem Visual Basic).

Saiba mais sobre Java ;)
  • Cursos de Java:
    Torne-se um programador Java completo. Aqui você encontra cursos sobre as mais ferramentas e frameworks do universo Java. Aprenda a desenvolver sites e web services com JSF, Jersey, Hibernate e mais.
  • Curso de Java para Iniciantes:
    O objetivo do curso de Java Básico aplicado é apresentar os conceitos básicos da linguagem de programação Java, assim como da Orientação a Objetos, aplicados em exemplos simples e úteis, utilizados pela maioria dos desenvolvedores no dia a dia do desenvolvimento de software.
  • Guia de Linguagem de Programação Java:
    Neste Guia de Referência você encontrará todo o conteúdo que precisa para começar a programar com a linguagem Java, a sua caixa de ferramentas base para criar aplicações com Java.

A Fundação Apache, mais conhecida pelo seu servidor web de mesmo nome, permite, como no caso do servidor Apache, que o Tomcat seja usado livremente, seja para fins comerciais ou não.

O Tomcat está escrito em Java e, por isso, necessita que a versão Java 2 Standard Edition (J2SE) esteja instalada no mesmo computador onde ele será executado. No entanto, não basta ter a versão runtime de Java instalada, pois o Tomcat necessita compilar (e não apenas executar) programas escritos em Java. O projeto Jakarta da Fundação Apache, do qual o subprojeto Tomcat é o representante mais ilustre, tem como objetivo o desenvolvimento de soluções código aberto baseadas na plataforma Java.

Linguagens: Java, HTML e XML

O desenvolvimento de uma típica aplicação web a ser executada pelo Tomcat implica no domínio das seguintes linguagens:

  • Java: Todos os algoritmos da aplicação devem ser escritos em Java.
  • HTML: A interface da aplicação, isto é, aquilo que o usuário vê em sua tela, é construída na forma de páginas escritas em HTML e visualizadas através do browser do usuário. Esta tarefa normalmente é delegada ao web designer.
  • XML: Qualquer aspecto relacionado à configuração da aplicação deve ser expresso por meio da linguagem XML em um arquivo chamado web.xml. Os dados de configuração podem ser usados tanto pelo Tomcat como pela aplicação.

Servlets e Java Server Pages

Um Servlet é uma classe escrita em Java cujos objetos têm a finalidade de gerar documentos codificados em HTML. Esta característica dos servlets implica em que um web designer precisa conhecer Java para poder construir as páginas de uma aplicação. Esta limitação (quantos web designers conhecem Java?) é superada pela tecnologia de JSP.

Uma página escrita em JSP (arquivos com extensão .jsp) é uma página escrita em HTML e que contém pequenos fragmentos de código Java e/ou tags especiais (definidos na especificação JSP). Com estes tags, o web designer não necessita escrever uma única linha de código Java. Ao contrário do que acontece com a tecnologia ASP, o analista/programador pode criar (em Java) os seus próprios tags customizados para a aplicação em desenvolvimento.

O servidor Tomcat tem a habilidade de converter automaticamente qualquer página JSP em um servlet equivalente. Em outras palavras, o Tomcat é capaz de criar código fonte Java a partir de um documento HTML.

Do ponto de vista técnico, Tomcat é a implementação referência das especificações das tecnologias de servlets e JSP criadas pela Sun. A versão 4.0.x do Tomcat implementa as especificações Servlet 2.3 e JSP 1.2 (que são as mais recentes). Várias empresas, como Borland, IBM, BEA, etc., também oferecem suas implementações das duas especificações da Sun.

Do ponto de vista operacional, a principal finalidade das tecnologias de servlets e JSP é permitir a criação dinâmica de conteúdos. A dinâmica, em um cenário típico, funciona do seguinte modo:

  • Um usuário, no seu browser, solicita algum documento (indicado por um URL) a um servidor Tomcat;
  • O servidor, ao receber uma solicitação (URL) do usuário, executa o servlet ou JSP correspondente àquele URL (a associação entre URL e servlet ou JSP é especificada no arquivo web.xml). O conteúdo gerado pelo servlet ou JSP, normalmente um documento no formato HTML, é uma combinação de tags HTML (incluídos explicitamente) e o resultado de algum processamento (por exemplo, algoritmo Java e/ou acesso a um banco de dados).
  • O usuário recebe o conteúdo gerado pelo servidor Tomcat e o exibe através do seu browser.

Na Prática

Em termos práticos, o Tomcat pode ser usado isoladamente, assumindo o papel de um servidor web, ou em conjunto com outro servidor (como o Apache). Neste caso, o Apache atende a requisições de páginas estáticas enquanto que o Tomcat atende a requisições de páginas dinâmicas.

Outra forma de usar o Tomcat é como parte da versão J2EE (Enterprise Edition) de Java para a criação de servidores de aplicação. Este é o caso, por exemplo, do servidor de aplicação JBoss.

Saiu na DevMedia :)
  • ASP.NET MVC e Entity Framework: criando uma aplicação 1:N:
    Neste curso você aprenderá a implementar um CRUD em ASP.NET MVC com relacionamento 1:N (um para muitos). Veremos como desenvolver as telas do CRUD com seleção do registro relacionado em um dropdown, bem como fazer da forma mestre-detalhe, com adição de campos dinâmicos.
  • Qualidade no código Java com boas práticas e Clean Code:
    Manter um código limpo tem um impacto muito relevante na qualidade e na facilidade de manutenção de um sistema. Este artigo demonstrará a importância que deve ser dada em manter o código da sua aplicação limpo.
  • O que é Redis?:
    Neste curso aprenderemos o que é o Redis, um banco de dados NoSQL capaz de armazenar dados no formato chave-valor. O Redis é atualmente uma das estruturas de armazenamento mais performáticos do mercado e tem sido amplamente utilizado.
Para saber mais ;)