JSP (JAVASERVER PAGES)

Documentos relacionados
Tutorial 1 Configuração Apache Tomcat no NetBeans 8.0 (passo a passo)

Unidade 6: Java Server Pages Prof. Daniel Caetano

Java Server Pages (JSP)

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

A figura acima mostra o script de criação do banco de dados que chamaremos de minicurso.

Java para WEB com Struts 2 e Hibernate

Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

Curso de Java. Geração de Páginas WEB através de JSP. Todos os direitos reservados Klais

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS -

Finalidade dos formulários

Desenvolvimento Web III. Prof. Felippe Scheidt

Java II. Sérgio Luiz Ruivace Cerqueira

DESENVOLVIMENTO DE SISTEMAS WEB. Lista de Exercícios AV1-01. Luiz Leão

Unidade 12: Uso de Sessão e DAO e Servlets

TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER 3.0 utilizando o Eclipse Galileo Modelling Tools

TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER utilizando o Eclipse Galileo Modelling Tools

INTRODUÇÃO À TECNOLOGIA SERVLETS

Desenvolvimento Web com Java. Sérgio Lopes Caelum -

Trabalhando com Servlet

Scriptlets e Formulários

Desenvolvimento Web TCC Turma A-1

Ferramenta 1 -NetBeans 8.0

Desenvolvendo aplicações Java

Aula 03 - Projeto Java Web

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP

CONTEÚDO PROGRAMÁTICO

JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB

TUTORIAL JSP & SERVLET

Aplicações Web com Servlets e JSP

PROGRAMAÇÃO I INTRODUÇÃO À ORIENTAÇÃO A OBJETOS

Formação JAVA Web.

p Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos fonte de Java.

" # $ %&'( ) *' ( +,)+ ( - $ (+*' 0 12 ' ( %+ -12 )+3 ) (4 )) ) % 12 ) *' (

2 Criar uma Enterprise Application que num módulo EJB irá conter um ou vários Beans.

DESENVOLVENDO APLICAÇÕES WEB COM JSP E JSTL. Peter Jandl Junior. Novatec

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

INTRODUÇÃO A PROGRAMAÇÃO PARA WEB

Escrito por Lisiane Batista Neitzke Sex, 14 de Outubro de :57 - Última atualização Qua, 25 de Junho de :18

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

Visibilidade e Encapsulamento

PRIMEIRO PROGRAMA. Neste post iremos construir uma pequena classe destinada para soma de dois números.

Introdução ao Desenvolvimento de

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Formulário Principal no NetBeans

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri

Conteúdo Dinâmico. Introdução. Interação Browser x Servidor Web. Interação Browser x Servidor Web

Manual do usuário people

Formulários são áreas onde se inserem campos que permitem uma troca de informações maior entre usuários e desenvolvedores de sites HTML Até o momento,

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: HTTP porto 80

Desenvolvimento Web. HTML 5 Parte I. Prof. Vicente Paulo de Camargo

Curso de HTML aula 4. Sumário. 1 Formulários. 1.1 Construindo formulários com o FORM. 1.2 Método:

Desenvolvimento de um sistema de leilão utilizando JavaServer Pages

Aula 17 Introdução ao jquery

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 4 PROF. EMILIO PARMEGIANI

WebWork 2. João Carlos Pinheiro.

Classes e Objetos. Sintaxe de classe em Java

Programação Orientada a Objetos

1. Execute o instalador do ambiente. Será exibida a tela do assistente para instalação.

Como criar um banco de dados usando o mysql

ALUNO: RONI FABIO BANASZEWSKI

PROGRAMAÇÃO SERVIDOR RECURSOS ADICIONAIS EM SISTEMAS WEB DOS SERVLETS. Prof. Dr. Daniel Caetano

Conceitos de HTML 5 Aula 1

Professor Jefferson Chaves Jefferson de Oliveira Chaves

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades.

Manual do Utilizador. Share Point One Drive

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Roteiro 01. Professor: Prof. M.Sc. Odilon Corrêa da Silva. Curso: Desenvolvimento de Sistemas. Disciplina: Programação para WEB I

Apostila - Desenvolvimento web com PHP

NOVIDADES DO JAVA PARA PROGRAMADORES C

PROGRAMAÇÃO SERVIDOR MIDDLEWARE JDBC: USANDO O JAVA DB EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

Procedimentos para Instalação do Sisloc (Estação de Trabalho) versão

Universidade São Judas Tadeu. Faculdade de Tecnologia e Ciências Exatas. Sistemas de Informação 3ASIN

Transcrição:

UNIDADEC Nesta unidade, você irá conhecer a tecnologia JSP (JavaServer Pages). JSP permite implementar páginas dinâmicas na web. As páginas JSP contêm marcas HTML e instruções Java. O objetivo desta unidade é subsidiá-lo(a) para que você seja instrumentalizado(a) para Implementar páginas dinâmicas com a tecnologia JSP; Aprender os elementos sintáticos de JSP; JSP (JAVASERVER PAGES) Estruturar um aplicativo da web como uma seqüência de Java Server Pages. Introdução A tecnologia JSP (JavaServer Pages) permite implementar páginas dinâmicas na Web ou seja, um código pode ser executado durante o carregamento de uma página Web. JSP é uma tecnologia utilizada no desenvolvimento de aplicações para Web, similar às tecnologias Active Server Pages (ASP) da Microsoft ou PHP. As páginas JavaServer Pages (JSP) contêm marcas de HTML e instruções (comandos) Java. Por ser baseada na linguagem Java, tem a vantagem da portabilidade de plataforma, que permite a sua execução em diversos sistemas operacionais. JSP permite ao desenvolvedor de páginas para Internet produzir aplicações que acessem o banco de dados, manipulem arquivos no formato texto, capturem informações a partir de formulários, entre outras. Uma página criada em JSP, depois de instalada em um servidor de aplicação compatível com a tecnologia Java EE, é transformada em um Servlet - um componente do lado servidor que gera dados HTML e XML para a camada de apresentação de um aplicativo Web. Primeiro exemplo de conteúdo dinâmico na Web com JSP Com o NetBeans com Java EE instalado, você não necessitará instalar o Apache Tomcat separadamente. Vamos fazer o primeiro exemplo JSP. Um arquivo JSP é quase como uma página HTML convencional, a única diferença é que podemos inserir dentro deste código HTML um código Java. A inserção do comando Java é feita da seguinte maneira: <%= new java.util.date() %> Esta instrução é executada sempre que a página Web for enviada para o navegador. O valor resultante da expressão é inserido na página. Cada vez que você solicitar essa página, será exibida uma data e hora diferente. 31

O código a seguir apresenta JSP que retorna a data e hora. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf- 8"> <title>jsp Page</title> </head> <body> <h1>data/hora em JSP</h1> <p> A hora atual é: <%= new java.util.date() %> </p> </body> </html> A execução de um JSP no NetBeans não possui muitos problemas. Devemos seguir passos similares à execução de um programa Java qualquer. Executando o primeiro JSP no NetBeans Para executar o seu primeiro JSP você deve: Criar um projeto no NetBens Deve ser criado um projeto na categoria Java Web / Aplicação Web ; Escrever o código JSP da aplicação Você deve criar um arquivo fonte JSP ou modificar o index.jsp já criado durante a criação do projeto; Executar a aplicação Java O NetBeans iniciará o Tomcat e já irá executar a página HTML através de um navegador no endereço http://localhost:8084/projeto_web_1/index.jsp. Criar um projeto no NetBeans: Abra o NetBeans; No NetBeans, selecione o menu Arquivo Novo Projeto (Figura C.1); 32

No wizard do Novo projeto, escolha nas Categorias Java Web e no item Projetos escolha Aplicativo Web e pressione próximo (Figura C.2); Inclua o nome do Projeto (Figura C.3); Selecione o servidor que será utilizado (Apache Tomcat) (Figura C.4); 33

Não selecione nenhum framework (Figura C.5); A Figura C.5 apresenta a tela após a criação do projeto. O projeto cria um arquivo index.jsp; 34

Escrever o código JSP da aplicação: Você deve criar um arquivo fonte JSP ou modificar o index.jsp já criado durante a criação do projeto. Neste caso, vamos inserir o código <%= new java.util.date() %> no arquivo index.jsp (Figura C.7); Executar a aplicação Java Clique com o botão direito do mouse em cima do arquivo index.jsp e selecione a opção executar arquivo (Figura C.8); Neste momento, você irá observar que o Tomcat irá entrar em execução; O navegador padrão será executado com a página index.jsp (Figura C.9) no endereço http://localhost:8084/projeto_ Web_1/index.jsp. A cada recarga da página uma nova data é apresentada. 35

A Figura C.9 mostra uma construção de uma JavaServer Page. O container de JSP lê a página JSP solicitada e transforma em uma página HTML. As marcas regulares de HTML ficam inalteradas, contudo a expressão inserida entre as marcas JSP (<%= %>) é avaliada e convertida em String (pelo método tostring). A string resultante é inserida na página HTML. O fluxo de execução de um JSP é apresentado na Figura C10. A transformação em um código HTML é feita por um container JSP (no caso o Tomcat). 36

Marcas em JSP O JSP possui um conjunto de marcas que pode ocorrer e apresenta diferenças sintáticas e semânticas: Scriptlets: <% %>, finalizam com ; e permitem inserir um código Java (normal) dentro do JSP; Diretivas: <%@ %>, são usadas para fornecer informações de como páginas JSP devem se comportar em tempo de tradução. São de três tipos: page, include, taglib; Expressões: <&= %>, não finalizam com ; e permitem mostrar algum resultado; Declarações: <%! %>, permitem declarar variáveis e métodos em páginas JSP. Os comentários em JSP devem ser feitos da seguinte maneira: <%-- comentário --%>. Exemplos: Scriptlet - <% Pessoa pessoa = new Pessoa( Joao ); %> Diretiva - <%@ page import= java.util.* %> Expressões - <%= pessoa.getnome() %> Declarações - <%! String títulopagina = Cadastro de Pessoas ; %> Segundo exemplo JSP O objetivo deste segundo exemplo é acessar uma classe Contator e contar o número de vezes que a página é acessada em uma única sessão. Para isso, foi construída uma classe Contador apresentada a seguir. A classe possui um atributo de classe count que será responsável por armazenar a quantidade de acessos à página. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. package ifsul.tsiad.exemplosjsp; public class Contador { private static int count = 0; } public Contador() { } public static int getcount() { Contador.count++; return Contador.count; } Uma classe Java para ser acessada por um JSP deve ser colocada (.class) em uma estrutura predefinida. Esta estrutura predefinida é apresentada na Figura C.11. As classes devem ser colocadas dentro do diretório WEB-INF. 37

O arquivo JSP a seguir possui duas novidades: na linha 1 estamos realizando o import da classe Contador contida no pacote ifsul.tsiad.exemplosjsp através do uso de diretivas. Já na linha 13 estamos utilizando um objeto implícito (out) que permite imprimir através do método println. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. <%@page import="ifsul.tsiad.exemplosjsp.contador" %> <%@page contenttype="text/html" pageencoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf- 8"> <title>segundo Exemplo de JSP</title> </head> <body> <h2>segundo Exemplo de JSP</h2> Número de acessos: <% out.print(contador.getcount()); %> </body> </html> JavaBeans Nos exemplos anteriores, a parte dinâmica de JSP era muito simples, apenas com uma linha (uma única expressão em Java). Embora seja possível adicionar mais código Java diretamente em uma página JSP isso não é adequado. As páginas Web mais profissionais devem separar a parte de cálculo de resultados com a parte exibição de resultados. Desta forma, o JSP recomenda que qualquer cálculo incomum deva ser executado. Existe um mecanismo chamado JavaBeans que facilita essa tarefa. Você pode conectar um ou mais JavaBeans a uma página JSP. Praticamente toda a classe Java pode ser um JavaBean desde que obedeça a um requisito especial: deve ter um construtor público sem parâmetros. As propriedades de um JavaBean são acessadas e modificadas por métodos get e set. No entanto, o que torna os JavaBeans tanto especiais? As páginas JSP permitem acesso às propriedades de um bean sem que seja necessário escrever um código Java, ou seja, não necessitam chamar nenhum método em Java. Para utilizar um bean em uma página JSP, você deve utilizar a diretiva jsp:bean. Você pode definir um nome para o objeto bean e o nome da classe desse bean como: <jsp:usebean id= user class= PersonBean /> Essa diretiva invoca o construtor default da classe PersonBean para criar um objeto com nome user. A diretiva jsp:setproperty permite configurar uma propriedade (um atributo) e a diretiva jsp:getproperty permite ler uma propriedade (atributo) e converter para uma String. Quando você utiliza beans, a página JSP contém apenas diretivas bean, nenhum código Java. Desta maneira, utilizando beans em uma página JSP, você separa o código de apresentação. Dica A ideia foi apenas mostrar informações preliminares dos JavaBeans. Para um estudo mais aprofundado, pesquise a bibliografia indicada. 38

Tratando parâmetros em um JSP O exemplo a seguir tem uma página como entrada o nome e idade de uma pessoa. O objetivo é ler os valores obtidos pela entrada o formulário, realizar alguma manipulação através de um JSP e retornar alguma uma informação. O JSP irá ver os dados objetivos por um HTML e irá incrementar a idade da pessoa para retornar o valor. Para isso necessitamos projetar um formulário HTML (Figura C.12). O formulário contém dois campos de texto, um para o nome e outro para a idade e um botão para submeter à página JSP. O código HTML a seguir representa o código HTML que gera o formulário da Figura C.12. Neste formulário existe um atributo action do elemento form que especifica a URL do programa do lado do servidor que processa os dados do formulário. Nesse caso, queremos que a página JSP entrada.jsp leia dos dados de entrada do usuário. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. <html> <head> <title>exemplo com Entrada de Dados</title> </head> <body> <form action="entrada.jsp" method="post"> <p>nome: <input type="text" name="nome"/> </p> <p>idade: <input type="text" name="idade"/> </p> <p> <input type="submit" value="submeter"/> </p> </form> </body> </html> A seguir é apresentado o código JSP entrada.jsp. As páginas JSP podem descobrir o que o usuário digitou nos campos de entrada de um formulário através do objeto predefinido request. Esse é um objeto definido para todos os documentos JSP. É uma instância da classe ServletRequest. O método getparameter retorna o valor do elemento do formulário com o nome dado. Nas linhas 15 e 16 é realizada a conversão da idade para o tipo inteiro e, após, o valor é incrementado. 39

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. <%@page contenttype="text/html" pageencoding="utf-8"%> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf- 8"> <title>terceiro Exemplo</title> </head> <body> <h2>terceiro Exemplo</h2> <p> Olá <% out.println(request.getparameter("nome")); %> </p\> <p> Sua idade no próximo ano será: <% int x = Integer.parseInt(request.getParameter("idade")); out.println(x+1); %> </p> </body> </html> Nessa unidade, foram apresentados os principais conceitos com JavaServer Pages. Na próxima unidade, será apresentada a Servlets Java, que são conceitos intimamente relacionados com JSP, bem como são mecanismos alternativos para construir aplicativos Web. 40

Atividade 3 Prezado(a) aluno(a), as atividades da unidade C (JSP) versam sobre o desenvolvimento de aplicações que utilizam páginas JSP. Desenvolva essas aplicações em JSP no NetBeans. 1. Escreva uma página JSP os seguintes valores do sistema do servidor Web: A versão do Java; O nome do sistema operacional; A versão do sistema operacional. Para obter essas informações utilize os métodos da classe System (pacote Java.lang). 2. Escreva um aplicativo para Web utilizando JSP que atue como um simulador de loteria. O usuário deve especificar seis números diferentes. Internamente o aplicativo deve gerar seis números de forma aleatória (utilize a classe Math) e após as imprima, informando o número de acertos do usuário. 41