Vous êtes sur la page 1sur 24

Eclipse para aplicações Web

Sumário
Baixando o Eclipse com WTP......................................................................................................... 2
Iniciando o Eclipse...........................................................................................................................2
Criando um projeto para aplicações Web........................................................................................ 4
Servlets.............................................................................................................................................7
Criando um Servlet no Eclipse........................................................................................................ 7
A classe HttpServlet.......................................................................................................................11
Chamando o Servlet criado............................................................................................................12
Executando a aplicação..................................................................................................................14
JSP................................................................................................................................................. 16
Criando JSP no Eclipse..................................................................................................................16
A parte HTML............................................................................................................................... 19
Distribuindo sua aplicação.............................................................................................................21
Apêndice A......................................................................................................................................... 23
As tags JSP.....................................................................................................................................23
Diretivas.........................................................................................................................................23
Diretiva page............................................................................................................................. 23
Diretiva Include.........................................................................................................................24
Variáveis e operadores...................................................................................................................24
Objetos Relacionados a entrada e saída......................................................................................... 24

1
Eclipse para aplicações Web

Baixando o Eclipse com WTP


Para desenvolver aplicações Web usando a plataforma Eclipse, primeiramente você deverá baixar o
programa no endereço http://www.eclipse.org/webtools/. Para baixá-lo, clique no site em
Download Now:

Figura 1

A versão atual no momento em que é escrito esse tutorial é o 1.5 do WTP (Web Tools Platform).
Esse projeto tem a opção de baixar o Eclipse junto com o WTP. Em WebTools Platform; All-in-
one você baixa a versão de acordo com a plataforma que você está trabalhando:

Figura 2

Iniciando o Eclipse
A versão utilizada para esse tutorial é da plataforma Windows. Após baixar o arquivo, descompacte
em um local desejado. É importante frisar que você deve ter o Java instalado e configurado em sua
máquina para que funcione tudo normalmente.
Para rodar o Eclipse, dê um duplo clique no arquivo eclipse.exe no seu sistema operacional
Windows.

2
Eclipse para aplicações Web

Figura 3

Assim que iniciar o Eclipse, você pode selecionar ou aceitar o local onde ele vai armazenar seus
projetos, o chamado Workspace e caso não queira mais ter essa caixa de diálogo aparecendo,
marque a opção Use this as the default and do not ask again. Confirme após clicando no botão
OK:

Figura 4

Assim que o Eclipse iniciar, você verá uma tela de boas vindas.

Figura 5

3
Eclipse para aplicações Web

Criando um projeto para aplicações Web


Feche a view Welcome e no menu File > New e clique em Project. A caixa de diálogo New
Project surgirá, onde você definirá o tipo de projeto que você deseja desenvolver. No caso, você
expandirá Web e selecionará Dynamic Web Project.

Figura 6

No próximo passo do assistente, em Project Name digite PrimeiroProjetoWeb

4
Eclipse para aplicações Web

Figura 7

Em Target Runtime clique no botão New. A caixa de diálogo New Server Runtime surgirá.
Nessa caixa de diálogo você define qual o servidor ou container servlet você irá utilizar. No caso
esse tutorial utilizará o Apache Tomcat 5.5. Expanda a opção Apache e selecione Apache Tomcat
v5.5 como mostra a Figura 8 a seguir e clique em Next:

Figura 8

5
Eclipse para aplicações Web

Na próxima caixa de diálogo, você terá que selecionar o local onde se encontra o seu Tomcat
instalado. Faça isso clicando no botão Browse no item Tomcat installation directory:

Figura 9

Confirme assim que selecionar a instalação do Tomcat no botão Finish. Voltando para a caixa de
diálogo New Dynamic Web Project confirme clicando no botão Finish.

Figura 10

6
Eclipse para aplicações Web

Provavelmente seu Eclipse não está utilizando a perspectiva J2EE, portanto não se assuste quando
vir essa caixa de mensagem “Open Associated Perspective?” (Figura 11). Clique no botão Yes
para confirmar a utilização da perspectiva.

Figura 11

Servlets
Servlets são classes Java que são instanciadas e executadas em associação com servidores Web,
atendendo requisições realizadas por meio do protocolo http. Ao serem acionados, os objetos
Servlets podem enviar a resposta na forma de uma página HTML ou qualquer outro conteúdo
MIME.
Os Servlets são basicamente usados no desenvolvimento de conteúdo dinâmico.
Servlets não possuem interface gráfica e suas instâncias são executadas dentro de um ambiente Java
denominado de Container. O container gerencia as instâncias dos Servlets e provê os serviços de
rede necessários para as requisições e respostas.

Criando um Servlet no Eclipse


Após a criação do projeto, você deverá criar sua aplicação Web. A primeira aplicação Web que
você desenvolverá é um Servlet. Clique com o botão direito do mouse sobre o projeto
(PrimeiroProjetoWeb), na view Project Explorer e selecione Servlet no item New, como mostra
a Figura 12 a seguir:

7
Eclipse para aplicações Web

Figura 12

A caixa de diálogo Create Servlet surgirá. Em Class name você digitará MeuPrimeiroServlet e
em Java package você digitará br.com.integrator.exemplo1 para o nome do pacote. Clique no
botão Next para prosseguir.

8
Eclipse para aplicações Web

Figura 13

Na próxima etapa mantenha como está e clique no botão Next.

Figura 14
Na terceira etapa da criação do Servlet você apenas desmarcará o item doPost. Clique no botão
Finish para terminar.

9
Eclipse para aplicações Web

Figura 15

Mantendo apenas doGet você possibilita ao seu Servlet apenas receber informações vindas pelo
método GET de um formulário ou link.
Digite o código a seguir para gerar o HTML como resposta do recebimento de um nome:

... 1
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
String nome = request.getParameter("nome"); 2
if(nome==null)
nome="";

response.setContentType("text/html;charset=ISO-8859-1"); 3
String html = "<html>" +
"<head><title>Trabalhando com Servlet no Eclipse</title></head>" +
"</head>" +
"<body>" +
"Seu nome é:<strong>"+nome+"</strong>" +
"</body>" +
"</html>";
PrintWriter out = response.getWriter(); 4
out.print(html); 5

}
...

10
Eclipse para aplicações Web

A classe HttpServlet
A classe HttpServlet sobrescreve o método service para distinguir entre as solicitações típicas
recebidas de um navegador Web cliente. Os dois métodos mais comuns e usados de solicitação
HTTP são GET e POST.
As utilizações dos dois métodos são muito comuns, uma vez que o método GET pode tanto obter
informações, onde você pode requisitar um arquivo ou uma imagem, como também pode enviar
dados, que neste caso temos o limite do cabeçalho HTTP.
O método POST não requisita informações, e sim as envia (posta), dados para o servidor. As
utilizações mais comuns de solicitações POST consistem em enviar ao servidor informações de um
formulário HTML em que o cliente insere dados ou enviar informações ao servidor para que esse
possa pesquisar em um banco de dados e etc.
A classe HttpServlet define os métodos doGet e doPost para responder as solicitações GET e
POST vindas de um cliente.
Os dois métodos recebem como argumentos um objeto HttpServletRequest (1) e um objeto
HttpServletResponse que permitem interação entre o cliente e o servidor.
A interface HttpServletRequest (1) trabalha com alguns métodos e no caso, você conheceu o
método getParamenter( String n ) (2). Esse método retorna o valor associado com um parâmetro
enviado para o Servlet como parte de uma associação GET ou POST. O argumento n representa o
nome do parâmetro. No caso do seu servlet foi nome, no qual vinha da caixa input do html de
mesmo nome.
A interface HttpServletResponse contém a resposta ao cliente. Um grande número de métodos são
fornecidos para permitir ao Servlet formular uma resposta. No seu caso, o método
setContentType( String tipo) (3) define o tipo MIME da resposta ao navegador. O tipo MIME
permite ao navegador determinar como exibir os dados. No caso o tipo MIME de resposta foi
“text/html”, que indica que a resposta é um documento HTML.
PrintWriter getWriter( ) (4) é o método que obtém o fluxo de saída baseado em caracteres que
permite que os dados de texto sejam enviados para o cliente.
Evidentemente, quando você chamar a classe PrintWriter um erro será dado pelo Eclipse, indicando
que você não o importou para o seu Servlet. Na lateral esquerda, você verá uma lâmpada com o “X”
em uma caixa vermelha. Clique sobre ele. Aparecerá uma pequena janela flutuante com opções para
selecionar e resolver o problema da sua aplicação.

Figura 16

11
Eclipse para aplicações Web

Selecione dando um duplo clique em Import 'PrintWriter' (java.io), como mostra a Figura 17 a
seguir:

Figura 17
Resolvido o problema, através da instância out você chama o método print( String s ) (5) que será
o responsável por imprimir o HTML gerado como resposta ao navegador após sua solicitação.

Chamando o Servlet criado


Para chamar o Servlet criado, você deverá desenvolver uma página, pode ser em HTML apenas,
contendo um formulário com uma caixa de texto chamada nome.
Para fazer isso usando a plataforma Eclipse, clique com o botão direito do mouse novamente sobre
seu projeto. Na opção New selecione HTML.

Figura 18
Na caixa de diálogo New HTML Page, você digitará na caixa de texto File name o nome do
arquivo, inclusive com extensão, que será index.html.

12
Eclipse para aplicações Web

Figura 19
Clicando no botão Next você será levado a escolher um template para utilizar como padrão da sua
página, sendo possível deixá-la em HTML padrão ou selecionar o XHMTL. A escolha no caso foi
de New XHTML File (1.0 transitional).

Figura 20

13
Eclipse para aplicações Web

Ao criar o arquivo, você o alterará de acordo com o mostrado na listagem a seguir, seguindo a idéia
de que deverá ser chamado o Servlet em questão para o desenvolvimento do exemplo:

...
<title>Meu Primeiro Servlet</title> 1
</head>
<body>
<form action="MeuPrimeiroServlet"> 2
Nome: <input type="text" name="nome" /> 3
<br />
<input type="submit" name="Submit" value="Enviar" />

</form>
</body>
</html>
...

Primeiro você altera o título(1). Depois, você precisa criar uma tag <form />, com o action
MeuPrimeiroServlet, para que seja enviada as informações contidas nesse formulário para o
Servlet criado (2).
A caixa de texto, onde você deverá digitar o nome, deverá ter obrigatoriamente o atributo name o
valor nome, pois é por esse campo que o Servlet aguarda para recuperar seu valor.

Executando a aplicação
Para executar a aplicação, você deverá clicar em Run e em Run As e selecionar Run on Server.

Figura 21
Como você já havia configurado o container Tomcat que vai aparecer uma caixa de diálogo
questionando se você quer usar a configuração atual ou uma nova. Evidentemente você manterá o
atual e clicará em Finish.

14
Eclipse para aplicações Web

Figura 22

O Eclipse abrirá um browser com o seu arquivo index.html. Note o endereço na parte superior da
view.

Figura 23

Você digita seu nome e clica no botão Enviar. O Servlet é chamado e com isso o resultado do texto
enviado é impresso na página gerada.

15
Eclipse para aplicações Web

Figura 24

Note na view inferior, em Servers, o servidor que está em atuação. Veja que ele tem um Status
indicando o estado atual do server. No botão vermelho, visto acima, no canto direito, você pode
parar o Tomcat.

Figura 25

JSP
Enquanto que desenvolver um Servlet, você tem que inserir muitos códigos Java, a parte de layout
da página fica a cargo do Web Designer, no qual trabalha com imagens, cores e outros elementos
visuais existentes em um web site.
Graças a esse problema, a equipe da Sun desenvolveu uma tecnologia baseada em Servlets chamada
de JavaServer Pages (JSP).
JavaServer Pages são páginas HTML embebidas em código Java. Dessa forma a página dinâmica é
gerada pelo código JSP.
A primeira vez que uma página JSP é carregada pelo container JSP, o código Java é compilado
gerando um Servlet que é executado. As chamadas subseqüentes são enviadas diretamente ao
Servlet, não havendo mais a recompilação do código Java.

Criando JSP no Eclipse


Crie um novo projeto, dessa vez chamado de SegundoProjetoWeb. Não se esqueça de em Web
selecionar Dynamic Web Project.
Para criar uma página JSP, clique com o direito do mouse sobre o projeto e selecione em New a
opção JSP, como mostra a Figura 26 a seguir:

16
Eclipse para aplicações Web

Figura 26
Na caixa de diálogo New JavaServer Page, parte inferior da janela, digite no campo File name o
nome do arquivo, que será no caso index.jsp. Clique no botão Next.

17
Eclipse para aplicações Web

Figura 27

Na segunda parte do assistente, você seleciona um template do qual deseja usar para desenvolver
sua página JSP. No caso fora selecionado nesse tutorial a segunda opção de template - New JSP
File (xhtml). Clique no botão Finish para concluir o assistente.

18
Eclipse para aplicações Web

Figura 28

A diferença de produzir páginas JSP em relação ao Servlet é visível, pois você pode embeber o
código Java diretamente na página, o que difere muito do Servlet.
Dica: Para facilitar seu desenvolvimento, na view onde se encontra o seu código, na lateral
esquerda, clique com o botão direito do mouse e selecione no menu de contexto o item Show Line
Numbes. Surgirá o número de linhas na lateral esquerda.

A parte HTML
A idéia desse exemplo é desenvolver uma página que submeta o nome diretamente para ela mesma,
só que terá seu texto mostrado na parte inferior do formulário. Primeiramente você desenvolverá o
formulário.

19
Eclipse para aplicações Web

...
<title>Trabalhando com JSP</title>
</head>
<body>
<form action="index.jsp"> 1
Nome: <input type="text" name="nome" />
<br />
<input type="submit" value="Enviar" />
</form>
<%
String nome = request.getParameter("nome"); 2
if(nome!=null)
out.write("<h3>Seu nome é: "+nome+"<h3/>"); 3
%>
</body>
...

Similar ao feito no exemplo do Servlet, nesse caso você tem o atributo action da tag <form />
enviando para a mesma página (1).
Note que para recuperar o valor do campo nome você usa getParameter(String s) como em
Servlet (2).
O método write(String s) (3) é o responsável pela impressão na tela do resultado pego do campo
nome enviado adicionado do texto na tag HTML.

Figura 29
A primeira etapa mantenha como está. Clique no botão Next e verifique se o seu
SegundoProjetoWeb está em Configured projects. Se não estiver, selecione-o em Available
projects e clique no botão Add >. Clique no botão Finish para confirmar a configuração.

20
Eclipse para aplicações Web

Figura 30

Ao rodar a aplicação, você terá uma caixa de texto e um botão como no exemplo do Servlet. A
diferença está quando você digitar o nome e clicar no botão Enviar. Note que o navegador que roda
no Eclipse terá seu nome enviado pela barra de endereço e o resultado surgirá na parte inferior.

Figura 31

Distribuindo sua aplicação


Para levar sua aplicação a um servidor Web, selecione o projeto que deseja exportar, vá no menu
File e clique em Export.

21
Eclipse para aplicações Web

Figura 32

Na caixa de diálogo Export, expanda o item Web e selecione WAR file. Clique no botão Next para
prosseguir. Coloque o nome que desejar em Web module (ou mantenha como está) e em
Destination você clica no botão Browse e seleciona o local onde deseja que o arquivo seja criado.
Clique no botão Finish para exportar.

Figura 33

22
Eclipse para aplicações Web

Apêndice A
As tags JSP
Em páginas dinâmicas escritas em JSP você tem as tags <% e %> para que adicionar o comando
desejado.
As tags mais comuns são:
 Comentários: <%-- esse é um comentário em JSP --%> e
<% /* mais de uma linha */ %>
 Declaração de atributos: <%! %>
 Expressão de um resultado: <%= %>
 Tags Personalizadas: <%@ taglib %>
Exemplo de tag personalizada:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Onde uri é o nome definido no arquivo TLD e prefix é o nome da tag que será utilizada na página JSP.

Diretivas
Diretivas são usadas para fornecer informações especiais ao container JSP sobre a página JSP
quando esta é compilada para servlet.
Você tem dois tipos de diretivas principais:
 page: permite importação de classes, customização de super classes servlet entre outras;
 include: permite que um conteúdo seja inserido de um arquivo no servlet.

Diretiva page
A diretiva page tem a seguinte sintaxe: <%@ page %>
Os atributos mais usados são:
language="java" – Especifica a linguagem que está sendo usada.
extends="pacote.classe" – Define se a super classe do servlet por herança.
import="pacote.classe.*" – Pacote que deve ser importado.
session="true | false" – Permite ou não variáveis de sessão.
buffer="none | 10kb" – Tamanho do buffer em KB para o JspWriter out. O buffer padrão é
definido pelo servidor.
info="mensagem" - Define uma string que pode ser recuperada pelo método getServletInfo. Com
esse atributo o desenvolvedor pode adicionar uma documentação à página que resume sua
funcionalidade.
errorPage="erro.jsp" – Define a página de erro no qual será desviado caso isso ocorra.

23
Eclipse para aplicações Web

isErrorPage="true | false" – Define se é uma página de controle de erro.


contentType="text/html" – Informações sobe a página, o MIME type do documento.
pageEncoding="ISO-8859-1" – Define o conjunto de caracteres para a página JSP.
autoFlush="true | false" - O valor true (padrão) indica se o buffer deve ser esvaziado quando
estive cheio. Em false, indica que uma exceção deve ser mostrada quando ocorrer overflows.

Diretiva Include
A diretiva include permite que sejam incluídos arquivos na hora em que a página JSP é compilada
em servlet. Sua sintaxe é similar a:
<%@ include file="topo.html" %>

Variáveis e operadores
As variáveis devem ser sempre declaradas, isso porque cada uma pode conter um tipo de dados,
primitivos ou objetos.
O tipo de dados é importante para que o compilador saiba quantos bytes de memória devem ser
reservados à variável.
Os tipos de dados podem ser primitivos, como os encontrados na maioria das linguagens existentes.

Objetos Relacionados a entrada e saída


Os objetos dessa categoria representam a captura de informações e a saída em uma página JSP.
Onde você tem três objetos nessa categoria:
 request – Esse objeto representa a solicitação que requisitou a página. O objeto request
implementa a interface javax.servlet.http.HttpServletRequest.
 response – Esse objeto representa a resposta que será enviada de volta para o usuário como
resultado do processamento da página JSP. Este objeto implementa a interface
javax.servlet.http.HttpServletResponse.
 out – Esse objeto representa o fluxo de saída para a página, cujo conteúdo será enviado para
o navegador com o corpo de sua resposta. O objeto out é uma instância da classe
javax.servlet.jsp.JspWriter.

24

Vous aimerez peut-être aussi