aplicações web com eclipse

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

Upload: danilo-lima

Post on 23-Jun-2015

2.849 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Aplicações web com Eclipse

Eclipse para aplicações Web

SumárioBaixando o Eclipse com WTP......................................................................................................... 2Iniciando o Eclipse...........................................................................................................................2Criando um projeto para aplicações Web........................................................................................ 4Servlets.............................................................................................................................................7Criando um Servlet no Eclipse........................................................................................................ 7A classe HttpServlet.......................................................................................................................11Chamando o Servlet criado............................................................................................................12Executando a aplicação..................................................................................................................14JSP................................................................................................................................................. 16Criando JSP no Eclipse..................................................................................................................16A parte HTML............................................................................................................................... 19Distribuindo sua aplicação.............................................................................................................21

Apêndice A.........................................................................................................................................23As tags JSP.....................................................................................................................................23Diretivas.........................................................................................................................................23

Diretiva page............................................................................................................................. 23Diretiva Include.........................................................................................................................24

Variáveis e operadores...................................................................................................................24Objetos Relacionados a entrada e saída.........................................................................................24

1

Page 2: Aplicações web com Eclipse

Eclipse para aplicações Web

Baixando o Eclipse com WTPPara 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:

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:

Iniciando o EclipseA 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

Figura 1

Figura 2

Page 3: Aplicações web com Eclipse

Eclipse para aplicações Web

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:

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

3

Figura 3

Figura 4

Figura 5

Page 4: Aplicações web com Eclipse

Eclipse para aplicações Web

Criando um projeto para aplicações WebFeche 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.

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

4

Figura 6

Page 5: Aplicações web com Eclipse

Eclipse para aplicações Web

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:

5

Figura 7

Figura 8

Page 6: Aplicações web com Eclipse

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:

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.

6

Figura 9

Figura 10

Page 7: Aplicações web com Eclipse

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.

ServletsServlets 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 EclipseApó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

Figura 11

Page 8: Aplicações web com Eclipse

Eclipse para aplicações Web

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

Figura 12

Page 9: Aplicações web com Eclipse

Eclipse para aplicações Web

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

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

9

Figura 13

Figura 14

Page 10: Aplicações web com Eclipse

Eclipse para aplicações Web

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:

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

response.setContentType("text/html;charset=ISO-8859-1");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();out.print(html);

} ...

10

Figura 15

1

2

3

4 5

Page 11: Aplicações web com Eclipse

Eclipse para aplicações Web

A classe HttpServletA 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.

11

Figura 16

Page 12: Aplicações web com Eclipse

Eclipse para aplicações Web

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

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 criadoPara 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.

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

Figura 17

Figura 18

Page 13: Aplicações web com Eclipse

Eclipse para aplicações Web

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).

13

Figura 19

Figura 20

Page 14: Aplicações web com Eclipse

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></head><body><form action="MeuPrimeiroServlet">

Nome: <input type="text" name="nome" /><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çãoPara executar a aplicação, você deverá clicar em Run e em Run As e selecionar Run on Server.

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

1

2 3

Figura 21

Page 15: Aplicações web com Eclipse

Eclipse para aplicações Web

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

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

Figura 22

Figura 23

Page 16: Aplicações web com Eclipse

Eclipse para aplicações Web

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.

JSPEnquanto 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 EclipseCrie 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

Figura 24

Figura 25

Page 17: Aplicações web com Eclipse

Eclipse para aplicações Web

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

Figura 26

Page 18: Aplicações web com Eclipse

Eclipse para aplicações Web

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

Figura 27

Page 19: Aplicações web com Eclipse

Eclipse para aplicações Web

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

Figura 28

Page 20: Aplicações web com Eclipse

Eclipse para aplicações Web

...<title>Trabalhando com JSP</title></head><body>

<form action="index.jsp">Nome: <input type="text" name="nome" /><br /><input type="submit" value="Enviar" />

</form><%

String nome = request.getParameter("nome");if(nome!=null)

out.write("<h3>Seu nome é: "+nome+"<h3/>");

%></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.

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

1

Figura 29

2

3

Page 21: Aplicações web com Eclipse

Eclipse para aplicações Web

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.

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

21

Figura 30

Figura 31

Page 22: Aplicações web com Eclipse

Eclipse para aplicações Web

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.

22

Figura 32

Figura 33

Page 23: Aplicações web com Eclipse

Eclipse para aplicações Web

Apêndice AAs tags JSPEm 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.

DiretivasDiretivas 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 pageA 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

Page 24: Aplicações web com Eclipse

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 IncludeA 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 operadoresAs 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ídaOs 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