12
TUTORIAL JSP & SERVLET A.A.S. UNINOVE WWW.AAS.PRO.BR Exemplo simples de JSP com Servlet (para envio e recebimento de dados) Sumário JSP & SERVLET ............................................................................................................................................ 2 1. Criando Projeto ..................................................................................................................................... 2 2. O primeiro JSP ....................................................................................................................................... 3 3. O descritor (web.xml) ........................................................................................................................... 4 4. Criando um novo JSP ............................................................................................................................ 5 5. Incluindo um Formulário com @include ............................................................................................. 6 6. Página para detecção de erros ............................................................................................................. 7 7. Criando o formulário: ........................................................................................................................... 8 8. Criando Servlet ...................................................................................................................................... 9 9. Analisando Servlet Criado pelo Netbeans.......................................................................................... 11 10. Colocando código no servlet. ......................................................................................................... 12 11. Executando...................................................................................................................................... 12

TUTORIAL JSP & SERVLET - AAS.pro.BR | "Que os vossos ... · Este tutorial tem como objetivo demonstrar a criação de uma página em java com a ... escolhe-se o servidor e a versão

  • Upload
    lethien

  • View
    235

  • Download
    0

Embed Size (px)

Citation preview

TUTORIAL JSP & SERVLET

A.A.S. – UNINOVE WWW.AAS.PRO.BR

Exemplo simples de JSP com Servlet (para envio e recebimento de dados)

Sumário

JSP & SERVLET ............................................................................................................................................ 2

1. Criando Projeto ..................................................................................................................................... 2

2. O primeiro JSP ....................................................................................................................................... 3

3. O descritor (web.xml) ........................................................................................................................... 4

4. Criando um novo JSP ............................................................................................................................ 5

5. Incluindo um Formulário com @include ............................................................................................. 6

6. Página para detecção de erros ............................................................................................................. 7

7. Criando o formulário: ........................................................................................................................... 8

8. Criando Servlet ...................................................................................................................................... 9

9. Analisando Servlet Criado pelo Netbeans.......................................................................................... 11

10. Colocando código no servlet. ......................................................................................................... 12

11. Executando ...................................................................................................................................... 12

Diretoria dos Cursos de Informática DPI / PPI / TW TADS Prof. Antonio Andrade

www.aas.pro.br [email protected]

DW (Desenvolvimento WEB)

2

JSP & SERVLET

Este tutorial tem como objetivo demonstrar a criação de uma página em java com a

tecnologia JSP, passando os dados via POST para um servlet.

O objetivo é muito simples. No entanto, mais que o resultado do que aqui é apresentado,

o importante é conhecer toda lógica da tecnologia aqui utilizada.

Seguindo passo-a-passo cada instrução, o objetivo final deve ser alcançado sem muitos

problemas.

Este tutorial está bem resumido. Desenvolvido apenas para auxiliar na prática de uma aula teórica.

1. Criando Projeto

1.1. Entrar no NetBeans, na opção - Arquivo / Novo projeto:

1.2. Escolha o projeto - Java Web / Aplicação Web:

1.3. Na próxima tela, atente-se ao nome do projeto e ao local em que ele será armazenado:

Diretoria dos Cursos de Informática DPI / PPI / TW TADS Prof. Antonio Andrade

www.aas.pro.br [email protected]

DW (Desenvolvimento WEB)

3

1.4. Finalmente, escolhe-se o servidor e a versão do Java. Clique em Finalizar:

Observe o caminho do contexto. Ele deverá ser utilizado para execução do site.

2. O primeiro JSP

2.1. Vejamos a estrutura e o primeiro código gerado automaticamente pelo NetBeans:

Diretoria dos Cursos de Informática DPI / PPI / TW TADS Prof. Antonio Andrade

www.aas.pro.br [email protected]

DW (Desenvolvimento WEB)

4

2.2. Já é possível executar a aplicação. Acionando o botão play ou F6:

Atenção para o nome da aplicação (que aparece logo depois do localhost

e a porta do GlassFish.

3. O descritor (web.xml)

3.1. Vejamos como o arquivo de configuração da aplicação (web.xml) é criado inicialmente:

Diretoria dos Cursos de Informática DPI / PPI / TW TADS Prof. Antonio Andrade

www.aas.pro.br [email protected]

DW (Desenvolvimento WEB)

5

Duas chaves são criadas como default: <session-timeout> e <welcome-

file>.

4. Criando um novo JSP

4.1. Clique com botão direito sobre Páginas Web / Novo e JSP:

4.2. Na próxima tela, basta dar o nome ao novo JSP:

Aqui foi dado o nome de formulário e em seguida, botão finalizar.

Um novo arquivo foi criado no projeto:

Diretoria dos Cursos de Informática DPI / PPI / TW TADS Prof. Antonio Andrade

www.aas.pro.br [email protected]

DW (Desenvolvimento WEB)

6

5. Incluindo um Formulário com @include

5.1. Abra o arquivo index.jsp e altere o corpo do mesmo, inserindo o seguinte código:

5.2. Se executarmos o projeto neste ponto, obteremos uma bela tela de erro?

5.3. No entanto, a tela do erro poderia ser um pouco mais amigável. Que tal assim?

Diretoria dos Cursos de Informática DPI / PPI / TW TADS Prof. Antonio Andrade

www.aas.pro.br [email protected]

DW (Desenvolvimento WEB)

7

6. Página para detecção de erros

6.1. Construindo uma página para detecção de erros:

Clique com o botão direito sobre o nome do projeto e em seguida em Novo JSP. De o nome: erro

6.2. Alterando o descritor do contexto, web.xml:

“O arquivo WEB-INF/web.xml é o descritor do contexto de aplicação web, segundo a especificação Java Servlet/J2EE. As informações nele contidas são as configurações específicas da aplicação.”

1

Verifique na tela abaixo, as TAGs que indicam o arquivo a ser executado em caso de erro (404 OU 500):

1 http://www.mhavila.com.br/topicos/java/tomcat.html#t06

Diretoria dos Cursos de Informática DPI / PPI / TW TADS Prof. Antonio Andrade

www.aas.pro.br [email protected]

DW (Desenvolvimento WEB)

8

7. Criando o formulário:

Clique com o botão direito sobre o nome do projeto e em seguida em Novo JSP. De o nome: formulario

Diretoria dos Cursos de Informática DPI / PPI / TW TADS Prof. Antonio Andrade

www.aas.pro.br [email protected]

DW (Desenvolvimento WEB)

9

Vejamos o resultado:

8. Criando Servlet

Agora é necessário que se crie o programa que vai receber os dados do formulário. Podemos criar um outro JSP ou um servlet para exercer esta função. Neste exemplo, vamos criar um servlet. Para isso, podemos clicar com botão direito no projeto ou no pacote desejado, criado

especificamente para guardar os servlets.

Novo / Servlet. Ex:

Coloque o nome do servlet (formularioResp) e o nome para um pacote onde serão guardados os servlets criados para o projeto (ex: servlets):

Diretoria dos Cursos de Informática DPI / PPI / TW TADS Prof. Antonio Andrade

www.aas.pro.br [email protected]

DW (Desenvolvimento WEB)

10

Na próxima tela, observe que já vem marcado (ou marque) a caixa que solicita que o

netbeans adicione informação ao descritor (web.xml):

Diretoria dos Cursos de Informática DPI / PPI / TW TADS Prof. Antonio Andrade

www.aas.pro.br [email protected]

DW (Desenvolvimento WEB)

11

9. Analisando Servlet Criado pelo Netbeans

Vejamos a tela referente ao servlet criado:

No projeto, foi criado um novo pacote chamado servlets;

No pacote servlets (linha 5) foi criado o servlet formularioResp (linha 16 – que herda

HttpServlet);

Observe que o Netbeans cria um método (linha 24 – processRequest) para receber dados tanto

de doGet (para formulários enviado com método GET), como de doPost (para formulários

enviado com método POST). Abrindo o restante do código podemos observar que os dois

métodos (doGet e doPost) chamam o método processRequest, possibilitando a programação

sempre no mesmo método:

Diretoria dos Cursos de Informática DPI / PPI / TW TADS Prof. Antonio Andrade

www.aas.pro.br [email protected]

DW (Desenvolvimento WEB)

12

10. Colocando código no servlet.

Vamos agora desmarcar o trecho de código (entre try { ... } finally) que o Netbeans cria

automaticamente e implementar o que mais nos interessa. Veja:

11. Executando

Digigar informações e Enviar Exibição dos dados recebidos

Clique com o botão direito sobre o nome do projeto e em seguida em Novo JSP. De o nome: erro

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@ page isErrorPage="true" %>

<html>

<head>

<title>Erro!</title>

</head>

<body>

<table align="center" border="0" cellspacing="2"

cellpadding="2" width="70%">

<tr>

<td bgcolor="#CCDDEE" align=center>

<h3>Erro na aplicação: <%=application.getContextPath()%></h3>

<h5><%= exception.getLocalizedMessage()%></h5>

</td>

</tr>

<tr>

<td bgcolor="#F7F7F7" align=center>Inconformidade interna no servidor.<br>

</td>

</tr>

<tr>

<td bgcolor="#F7F7F7" align=center>

<% out.println(exception.toString());%>

</td>

</tr>

</table>

</body>

</html>

Clique com o botão direito sobre o nome do proj eto e em seg uida em N ovo JSP. De o nome: formulário <%--

Document : formulario

Created on : 25/02/2012, 15:04:20

Author : asantos

--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!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=UTF-8">

<title>Formulário</title>

</head>

<body>

<h3>Envio de Dados - Formulário</h3>

<form action="formularioResp" method="get">

<input type="text" name="nome" size="30" />

<input type="hidden" name="oculto" value="hidden: Oculta Dado" size="30" />

<input type="submit" name="btnEnviar" value="Envia Dado" />

</form>

</body>

</html>

Trecho de código a ser implementado no ser vlet: try {

out.println("<html>");

out.println("<head>");

out.println("<title>Dados vindos do Formulario</title>");

out.println("</head>");

out.println("<body>");

out.println("<h3>Servlet formularioResp: " + request.getContextPath() + "</h3>");

out.println("<pre>");

out.println("Dados do Formulario:");

out.println("--------------------");

out.println("Campo Nome: " + request.getParameter("nome"));

out.println("Campo Oculto: " + request.getParameter("oculto"));

out.println("</pre>");

out.println("<a href='" + request.getContextPath() + "'>Recarregar</a>");

out.println("</body>");

out.println("</html>");

} finally {

out.close();

}