Desenvolvendo aplicações Web com Tomcat e Eclipse

Usar o Eclipse como plataforma de desenvolvimento Web fica ainda mais fácil quando você integra ele diretamente com o Apache Tomcat. Aprenda como configurar esses dois sistemas para desenvolver um Hello World rudimentar.

Esse artigo é uma sequência de “Using Eclipse as a development environment with Jakarta Tomcat,” escrito por Geoffrey Duck em Maio de 2004.

Componentes necessários

O ambiente de desenvolvimento (IDE) Eclipse V3.2 Callisto inclue ferramentas para desenvolvimento para Web e integração com servidores. Dessa forma, além do kit de desenvolvimento (SDK), você precisa apenas instalar o Eclipse e do Apache Tomcat. As versões referenciadas nesse artigo são listadas a seguir.

Tabela 1. Componentes e versões referenciadas nesse artigo

Componente Versão usada nesse artigo
Eclipse Platform 3.2.2
Java™ EE 5 SDK 1.5.0_09
Apache Tomcat 5.5.20

O IDE Eclipse é uma IDE de código aberto usada como ambiente de desenvolvimento para suas JavaServer Pages (JSP) e arquivos Java. Com as ferramentas de Web e J2EE instaladas, o Eclipse é uma ótima ferramenta para criação de HTML, JSPs e servlets.

Você precisa do SDK do Java para executar servlets em sua máquina. Finalmente, o Apache Tomcat é uma contêiner para Web e servlet, usado nas implementações de referência oficiais para os Servlet Java e JavaServer Pages.

Instalação

As instalações do Eclipse e do Tomcat são similares — ambas são feitas extraindo o arquivo compactado em uma pasta de seu disco rígido. Se você quiser desinstala-los, é tão simples quando remover o diretório onde os arquivos foram extraídos.

Instalando o Eclipse

Para instalar o IDE Eclipse, descompacte o arquivo compactado (.zip e .tar.gz) que você baixou, e mova a pasta criada para um local conveniente. Uma boa dica é instalar o Eclipse em um local que siga as convenções do sistema operacional que está sendo usado. Se o Eclipse for instalado em um Mac, o aplicativo é colocado na pasta Applications. Se for usado o Windows,  a pasta do Eclipse pode ser colocada no diretório C:\Program Files.

Depois de ter baixado e instalado o Eclipse, inicie-o. Antes de poder criar um projeto Web, precisa instalar os plug-ins para o J2EE e para Desenvolvimento Web. Felizmente é fácil instalar esses plug-ins no Eclipse.

Instalando as ferramentas Web

Com o Eclipse em execução, selecione Help > Software Updates > Find and Install. Essa opções permite que você baixe e instale as ferramentas para Web sem ter que ir a um site.

Selecione Search for New Features to Install, como mostrado abaixo e clique em Next.

Figura 1. Janela de instalação e atualização
Install/Update window

Selecione Callisto Discovery Site, como mostrado abaixo, e clique em Next.

Figura 2. Selecione Callisto Discovery Site
Select the Callisto Discovery Site

Sob a opção Callisto Discovery Site, marque a caixa Web and J2EE Development. O assistente imediatamente avisa sobre sobre as dependências que você precisa instalar. Clique em Select Required, e esses avisos desaparecerão. Alguns ou todos os componentes das categorias Graphical Editors and Frameworks e Models and Model Development serão selecionados por elas serem necessárias para a instalação dos plug-ins para Web e J2EE.

Figura 3. Selecione os recursos a serem instalados
Select features for installation

Clique em Next para continuar, e o acordo de licenciamento aparece para cada recurso selecionado. Se você concordar com as licenças, aceite-as e siga as instruções seguintes do assistente. Quando o IDE termina de instalar os plug-ins, pede que o Eclipse seja reiniciado para que as mudanças sejam efetivadas. Certifique-se de reiniciar os IDE antes de continuar.

Depois que o IDE é reiniciado, os novos recursos estarão disponíveis para que você começe a desenvolver seus projetos de Web.

Instalação do Tomcat

Para instalar o Apache Tomcat, extraia os arquivos do arquivo baixado em um diretório. Uma boa dica seria extrair o arquivo no diretório C:\apps para facilitar o acesso posterior. Isso é tudo por agora; use o Eclipse como será mostrado a seguir para iniciar o Tomcat.

Criando um novo projeto Web

A partir do IDE Eclipse, selecione File > New > Project para visualizar o assistente de projetos. Digite Web na caixa do assistente, e o filtro da janela New Project irá mostrar apenas a opção correspondente. Essa é uma forma fácil de localizar o assistente que você irá usar ao invés de ter que procurar por ele dentre várias opções disponíveis.

Escolha Dynamic Web Project a partir da lista. Você usa o assistente Standard Web Project para criar projetos Web com HTML estático. Você tecnicamente pode usar o Tomcat para executar sites estáticos, apesar de servidores como o Apache Web Server serem melhores para esse tipo de conteúdo. Servidores Web construídos especificamente para servir páginas estáticas  tendem a ser mais leves e são otimizados para esse propósito.

Definindo um ambiente alvo para a execução do aplicativo

Em Target Runtime, você verá <None>, como mostrado na Figura 4, porque ainda não foi criado um ambiente de execução para o Apache Tomcat. Clique em New para abrir a janela New Target Runtime Wizard. Selecione Apache Tomcat V5.5 na pasta Apache, como mostrado na Figura 5, e clique em Next.

Figura 4. Criando um novo projeto dinâmico
Create a new dynamic Web project

Figura 5. Criando um novo servidor para execução da aplicação
Create a new server runtime

Agora você tem a oportunidade de nomear seu ambiente de execução, apesar do nome padrão fornecido ser Ok. Clique em Browse para localizar o diretório de instalação do Apache Tomcat (O diretório sugerido é o C:\apps\apache-tomcat-5.5.20, como mostrado na Figura 6). É recomendado deixar a versão do Java Runtime Environment (JRE) a mesma que o do workbench padrão, a menos que você tenha uma razão específica para altera-la. Após informar um diretório válido, clique em Finish para criar um ambiente de execução.

Figura 6. Definindo a localização do servidor
Define the server location

Configurando a execução da aplicação

Se você decidir mais tarde que quer alterar seu ambiente de execução, pode apenas selecionar Window > Preferences. Digite Runtime na caixa de filtragem, e a lista mostra os ambientes instalados sob a categoria Server. Selecione o ambiente criado para o Apache Tomcat, e clique em Edit para alterar o nome, localização do diretório ou versão do JRE.

O sistema perguntará se você quer mudar para a perspectiva J2EE. O recomendado é sempre responder Yes (Sim) pois essa perspectiva inclui abas como a Servers, que lhe ajudam a iniciar ou interromper o Tomcat. Você pode sempre abrir a aba Servers selecionando Window > Show View.

Adicionando um servidor

A aba Servers é uma aba que não possui nenhum dado. Essa aba destina-se a servidores de aplicação ou Web; ela permite que você controle-os e monitores o status deles. Para controlar o Tomcat diretamente do conforto de seu IDE, adicione o Tomcat selecionada New > Server no menu de contexto. O assistente New Server, como mostrado na Figura 7, abrirá com a opção Apache Tomcat v. recém-criada como padrão.

Figura 7. Defina um novo servidor
Define a new server

Clique em Next. Será perguntado se você quer adicionar projetos ao servidor. Selecione o projeto que você criou nos passos anteriores e clique em Add.

Figura 8. Adicione os projetos ao servidor
Add the projects to the server

Clique em Finish para fechar o assistente. Agora a aba Servers contém o item Tomcat V5.5 Server com o projeto adicionado.

Figura 9. O servidor Tomcat sendo mostrada na visão Servers
The Tomcat server in the Servers view

Criando uma página exemplo

A maneira mais fácil de testar seu projeto dinâmico e a integração com o servidor Tomcat é criar um JSP simples e carrega-lo no Tomcat. Você pode criar um novo JSP selecionando File > New > Other, ou pode usar o menu de contexto acessado ao clicar com o botão direito no nome do projeto no Project Explorer e selecionando New > JSP.

Crtifique-se de que o diretório pai seja WebContent e nomeie o arquivo como index.jsp. Clique Finish para criar a página usando o template padrão. Se você clicar em  Next, pode escolher templates diferentes (como HTML ou XHTML) para a nova página. O template padrão serve bem para nosso teste.

O código a seguir exibido abaixo exibe uma data simples para você poder ver que funciona.

Listagem 1. Conteúdo do arquivo index.jsp

                
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>My Title</title>
</head>
<body>
<% java.util.Date d = new java.util.Date(); %>
<h1>
Today's date is <%= d.toString() %> and this jsp page worked!
</h1>
</body>
</html>

 

Carregando a página no servidor

Agora que a página está completa, use o Eclipse para recarregar ela no Apache Tomcat. Na aba Server, observe que o estado foi ajustado para Republish. Isso se deve por alterações terem sido feitas desde que o projeto foi carregado no servidor. Clique com o botão direito no servidor e selecione Publish no menu. O estado muda para Synchronized assim que o projeto dor carregado no servidor.

Problemas?

Ocasionalmente, alguma coisa pode dar errado. Para visualizar erros que ocorrem no Tomcat, use a aba Console. O Console captura a saída dos servidores que você configurou em sua aba Servers.

Com o projeto carregado com sucesso e o servidor iniciado, abra um navegador e acesse a URL http://localhost:8080/[ProjectName]/ (onde [ProjectName] é o nome do projeto dinãmico que você criou). A nova página Web que você criou aparecerá, e a data deve ser a data atual. Se você atualizar a página, a data muda.

Figura 10. Saída do arquivo index.jsp em um navegador
eOutput of index.jsp in a browser

Servlet Hello World

Você pode adicionar servlets Java ao seu projeto e carrega-los no servidor. Para criar rapidamente um servlet que você possa uasr para fins de teste, use o Servlet Wizard clicando com o botão direito no nome de seu projeto no Project Explorer e selecione New > Other. Sob a pasta Web, selecione Servlet, e clique em Next.

Adicione o nome do pacote com.example.servlets no campo Java Package e adicione HelloServlet no campo Class name. Clique em Finish. Isso é um exemplo, então os valores padrão servirão perfeitamente. O IDE Eclipse gerará uma classe para o servlet. Para ver o servlet de teste em ação, adicione uma linha ao método doGet() para exibir uma mensagem no ResponseWriter. A classe servlet deve ficar como mostrado abaixo.

Listagem 2. Conteúdo de HelloServlet.java

                
package com.example.servlets;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class for Servlet: HelloServlet
 *
 */
 public class HelloServlet extends javax.servlet.http.HttpServlet 
     implements javax.servlet.Servlet {

    /* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */
	public HelloServlet() {
		super();
	}   	

	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, 
	     HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) 
	    throws ServletException, IOException {
		response.getWriter().write("Hello, world!");
	}  	

	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, 
	     HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) 
	    throws ServletException, IOException {
		// TODO Auto-generated method stub
	}   	  	    
}

 

Depois de adicionar o servlet, o IDE Eclipse pecebe que seu projeto foi alterado. Olhe novamente na aba Servers; A opção Restart (Reiniciar) agora aparece na coluna status próximp ao servidor Tomcat. Para reiniciar o servidor, clique com o botão direito na aba Servers, e selecione Restart > Start. Abra um navegador e acesse a URL http://localhost:8080/[ProjectName]/HelloServlet (onde [ProjectName] é o nome de seu projetp dinâmico). O testo “Hello, world!” aparecerá na janela no navegador. Você pode adicionar a data, de forma similar ao código do arquivo index.jsp, ao método doGet(), e recarregar o servlet no servidor usando o IDE Eclipse.

Sumário

É produtivo desenvolver JSPs e servlets sem ter que deixar o IDE para iniciar, interromper ou carregas itens em seu servidor. A combinação Eclipse e Tomcat fornece um ambiente integrado de fácil acesso que permite que você agilize o desenvolvimento.

Recursos

Aprenda

Obtenha produtos e tecnologias

Discuta

  • The Eclipse Platform newsgroups should be your first stop to discuss questions regarding Eclipse. (Selecting this will launch your default Usenet news reader application and open eclipse.platform.)
  • The Eclipse newsgroups has many resources for people interested in using and extending Eclipse.
  • Participate in developerWorks blogs and get involved in the developerWorks community.

Fonte: IBM developerWorks