JSP (Java Server Pages)

Documentos relacionados
Objetos Implícitos. Conceito. Instanciados pelo próprio contêiner. Disponíveis em quaisquer páginas JSP.

UNIDADE III JAVA SERVER PAGES

Desenvolvimento Web TCC Turma A-1

Desenvolvimento de aplicações Web. Java Server Pages

Sessões. Cookies HTTP Sessões Atributos de sessão

Aula 03 - Projeto Java Web

Introdução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web

Programação WEB II. Formulários Em PHP. Métodos GET e POST progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Java II. Sérgio Luiz Ruivace Cerqueira

Introdução a Servlets e JSP. Prof. Samuel Martins samuellunamartins at gmail dot com Faculdade São Miguel

Scriptlets e Formulários

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

Linguagem de. Aula 06. Profa Cristiane Koehler

LINGUAGEM DE PROGRAMAÇÃO WEB

JSP - JavaServer Pages

Programação para Internet II

Programação WEB II. Conhecendo o PHP. Prof: Kelly E. Medeiros Bacharel em Sistema de Informação. Módulo III

Tecnologias Web. Formulários HTML

Enviado dados para o PHP através de formulário

INTRODUÇÃO À TECNOLOGIA SERVLETS

Aplicações de Linguagem de Programação Orientada a Objeto

DWR DIRECTED WEB REMOTING

Java para WEB. Servlets

Associação Carioca de Ensino Superior Centro Universitário Carioca

Java II. Sérgio Luiz Ruivace Cerqueira

Personal Home Page PHP. Prof. Luiz Claudio F. de Souza

Inserindo e Listando registros

JSP: JAVA SERVER PAGES

TECNOLOGIAS WEB. Unidade 2 Introdução a Construção de Páginas Estáticas. Luiz Leão luizleao@gmail.com

Tecnologia WEB II. Prof. Erwin Alexander Uhlmann. Introdução ao PHP. UHLMANN, Erwin Alexander. Introdução ao PHP. Instituto Siegen. Guarulhos, 2012.

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Java Beans e Servlets

HTML: Formulários Programação de Servidores

Atividade JSP com Banco de Dados

Incorporando JavaScript em HTML

Programando em PHP. Conceitos Básicos

Introdução ao HTML Utilizando frames Hospedando seu site na WEB

JavaServer Faces. Parte 2

Web. Professor: Rodrigo Alves Sarmento

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Introdução. Servlet. Ciclo Vida. Servlet. Exemplos. Prof. Enzo Seraphim

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

Instituto Siegen Manual do Professor

JSP (Java Server Pages)

Introdução ao PHP. Prof. Késsia Marchi

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

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

Para o envio de s pelo PHP é necessário seguir a seguinte sintaxe:

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Programação para web JavaScript

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

Aula 2: Listas e Links

Implementando uma Classe e Criando Objetos a partir dela

HTML Básico Formulários. Matheus Meira

Laboratórios 5, 6, 7 - Servlets

DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD

JavaServer Pages. Também são conhecidas pela sigla correspondente (JSP). Representam mais uma tecnologia da plataforma JEE.

Conhecendo um pouco mais o servidor Apache TomCat

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP

O QUE É A CENTRAL DE JOGOS?

MANUAL DE UTILIZAÇÃO DO AMBIENTE EAD (Educação a Distância) ÍNDICE

Manual do Instar Mail v2.0

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Primeiros passos das Planilhas de Obra v2.6

Aula de JavaScript 05/03/10

SISTEMA DE BIBLIOTECAS DO IFRS

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO

Web Design. Prof. Felippe

Calculador de preços e prazos de encomendas

Instalação/ Operacionalização

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

Projeto ECA na Escola - Plataforma de Educação à Distância

Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

JSP: JAVA SERVER PAGES

Programação para Web

Programação Na Web. Sessão II. Índice. Visão geral da API Sessão. Obter dados sobre uma sessão. Extrair informação sobre uma Sessão

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007

Manual do Teclado de Satisfação Online WebOpinião

SISTEMA DE BIBLIOTECAS DO IFRS. Manual do Usuário

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP.

Acessando um Banco de Dados

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual

Apostila de. WordPress. Gustavo Teixeira da Cunha Coelho Henrique Gemignani Passos Lima. 13 de maio de Primeira Edição RC2

BLOG ESCOLAS. Após acessar o seu respectivo blog, você será direcionado a tela a seguir. Vamos conhecê-la um pouco melhor.

DELPHI 7 LINGUAGEM DE PROGRAMAÇÃO AMBIENTE CLIENTE SERVIDOR

Boletim Eletrônico de Recolhimento Manual do Sistema. Boletim Eletrônico de Recolhimento. Manual do Sistema

BR DOT COM SISPON: MANUAL DO USUÁRIO

Transcrição:

JSP (Java Server Pages) Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior 1

Introdução Tecnologia para desenvolvimento de aplicações WEB fundamentada na arquitetura SSI (Server Side Includes); SSI são comandos extensivos a linguagem HTML, os quais podem conter conteúdos estáticos (HTML) e dinâmicos (PHP, ASP, JSP e etc.); Os comandos dinâmicos são processados pelo processados pelo servidor WEB antes da página HTML ser enviada ao browser. 2

Características Multiplataforma (por ser fundamentada em Java); Acesso a banco de dados; Manipulação de arquivos; Captura de informações por meio de formulários e Etc. 3

J2EE Definição: Conjunto de padrões e especificações responsável por receber as requisições do cliente, entendê-las e direcioná-las aos responsáveis pelas ações solicitadas. 4

Servidor de Aplicação Disponibiliza uma API com 9 objetos instanciados que facilitam a programação: request, response, pagecontext, session, application, out, config, page e exception. 5

Objeto request request: solicitação que aciona o processamento da página e busca por valores de parâmetros ou cookies; Neste exemplo é possível acessar o objeto gl em qualquer página que possuir este código: Ex.: GerenciaLogin gl = (GerenciaLogin) pagecontext.getattribute( gerencialogin, PageContext.APPLICATION_SCOPE); if(gl == null){ } Gl = GerenciaLogin.getInstance(); pagecontext.setattribute( gerencialogin,gl,pagecont ext.application_scope); 6

Objeto response Representa a resposta a ser produzida pela página JSP; Objeto muito utilizado, principais métodos no próximo slide. 7

Objeto response Alguns Métodos Assinatura public void addcookie(cookie cookie) public void flushbuffer( ) Descrição Adiciona um cookie à resposta e pode ser utilizado múltiplas vezes para adicionar vários cookies. Força qualquer conteúdo do buffer a ser escrito para o cliente. public int getbuffersize( ) public String getcontenttype( ) public void senderror(int código) public void senderror(int código, String msg) public void setbuffersize(int tamanho) public void setcontenttype(string tipo) public void setheader(string nome, String valor) Retorna o tamanho atual do buffer utilizado para a resposta. Retorna o tipo de conteúdo da resposta. Envia uma resposta de erro para o cliente com o código especificado. Envia uma resposta de erro para o cliente com o código e mensagem especificados. Define o tamanho do buffer para o corpo da resposta. Define o tipo de conteúdo da resposta a ser enviada para o cliente. Configura um cabeçalho de resposta com o nome e valor especificados. 8

Objeto pagecontext Os métodos e atributos deste objeto só são válidos na própria página. Ou seja, só podem ser referenciados nas páginas em que forem declarados. 9

Objeto pagecontext Alguns Métodos Método public void setattribute (String nome, Object valor) public void removeattribute (String nome, int escopo) public void removeattribute (String nome) public Enumeration getattributenamesinscope (int escopo) public Object getattribute (String nome, int escopo) public Object getattribute (String nome) public void forward (String url) public Object findattribute (String nome) public void setattribute (String nome, Object valor, int escopo) Descrição Registra um atributo com o nome e o valor especificados no escopo de página. Remove o atributo associado ao nome e ao escopo especificados. Remove o atributo associado ao nome especificado de todos os escopos. Enumera os nomes de todos os atributos contidos no escopo especificado. Recupera um atributo associado ao nome e ao escopo especificados. Recupera um atributo associado ao nome especificado no escopo de página. Encaminha a requisição para outro componente public void forward (String url) da aplicação. Busca por um atributo nos escopos de página, requisição, sessão e aplicação. Registra um atributo com o nome, o valor e no escopo especificados. 10

Objeto pagecontext Algumas Constantes Constante public static final int PAGE_SCOPE public static final int REQUEST_SCOPE public static final int SESSION_SCOPE public static final int APPLICATION_SCOPE Descrição Representa o escopo de página. Representa o escopo de requisição. Representa o escopo de sessão. Representa o escopo de aplicação. 11

Objeto session Possibilita, dentre outras coisas, a identificação de usuários em diversas páginas de um sistema. 12

Objeto session Alguns Métodos Método public Object getattribute(string nome) public Enumeration getattibutenames () public long getcreationtime () public String getid () public int getmaxinactiveinterval () public void invalidade() public boolean isnew() public void removeattribute (String nome) public void setattribute(string nome, Object valor) public void setmaxinactiveinterval (int intervalo) Descrição Recupera o atributo especificado do escopo de sessão. Retorna os nomes de todos os atributos armazenados no escopo de sessão. Retorna a data e a hora em que a sessão foi criada em milisegundos. Retorna o identificador único atribuído à sessão. Recupera o tempo pelo qual a sessão é mantida pelo contêiner entre dois acessos. Invalida a sessão, removendo todos os seus atributos. Retorna true se o cliente ainda não estiver utilizando a sessão. Remove o atributo especificado do escopo de sessão. Grava um novo atributo na sessão com o nome e valor especificados. Especifica o tempo que a sessão deve ser mantida ativa pelo contêiner entre dois acessos. 13

Objeto application Representa a aplicação. 14

Objeto application Alguns Métodos Método public Object getattribute(string nome) public Enumeration getattibutenames ( ) public String getinitparameter(string nome) public Enumeration getinitparamternames ( ) public String getrealpath(string caminho) public RequestDispatcher getrequestdispatcher(string url) public void log(string msg) public void log(string msg, Throwable erro) public void removeattribute (String nome) public void setattribute(string nome, Object valor) Descrição Recupera o atributo especificado do escopo de aplicação. Retorna os nomes de todos os atributos armazenados no escopo de aplicação. Retorna o parâmetro de inicialização especificado ou null se não for encontrado. Retorna os nomes de todos os parâmetros de inicialização. Retorna o caminho real relativo do caminho virtual especificado. Recupera um objeto que pode ser utilizado para encaminhar a solicitação para a URL local indicada. Escreve a mensagem no arquivo de log de um servlet. Escreve uma mensagem descritiva e a pilha de erro de uma exceção especificada. Remove o atributo especificado do escopo de aplicação. Grava um novo atributo no escopo de aplicação. 15

Objeto out Utilizado dentro de scriptlets Empregado para produzir saídas dinâmicas: Ex.: out.println( Um texto qualquer. ); 16

Objeto config Utilizado para obter informações de inicialização da página JSP; Objeto pouco utilizado. 17

Objeto page Representa a própria página JSP: page import importa pacotes de classe: Ex: <%@ page import= java.util.list %> page language informa a linguagem utilizada: Ex: <%@ page language= java %> 18

Objeto exception Utilizado no tratamento de exceções que poderão ocorrer nas páginas; Só está disponível em páginas de erro, ou seja, páginas JSP que definam o atributo iserrorpage da diretiva page como true. 19

Scriptlets Trechos de códigos em JSP embutidos no HTML que são interpretados pelo servidor; Não confunda com JavaScript, que interpretado na máquina cliente. 20

Expressão: Programação para Internet 2 Tags JSP <%= %> o resultado retornado é uma string; Exemplo: Retorna o endereço IP do cliente: <%= request.getremoteaddr() %> Soma simples: <%= 2+2 %> (retorna 4). Sintaxe: <% %> declaração livre ou scriptlets. Basicamente serve para mesclarmos código Java dentro do código HTML; Exemplo: <% for(int i = 0; i < 10; i++){ } %> out.println( Número: + i); Unidade 05 JSP 21

Comentário: Programação para Internet 2 Tags JSP <%-- --%> utilizada pelo desenvolvedor para documentar determinados trechos de código; Exemplo: <%-- Isto é um comentário. - %> Standard Actions: <jsp: /> São tags associadas as tags HTML, que modificam o comportamento das páginas JSP; Exemplo: <jsp:usebean id='iddobean' class='pacote.nomedaclasse'>... </jsp:usebean> 22

Diretivas page import = Importa pacotes de classes: <%@page import= fib.* %> <%@page import= java.util.list %> page language = Informa a linguagem utilizada: <%@page language= java %> taglib = habilita uma biblioteca de tags personalizada: <% taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %> 23

Sessão Mecanismo utilizado para prover o controle de usuários dentro de uma aplicação web; O protocolo HTTP não armazena informações de estado, sendo necessário o tratamento destes dados como sessão de usuário. 24

Sessão Exemplo - uma aplicação web que necessite de autenticação: é necessário que a autenticação seja solicitada numa página de login; alguns recursos (páginas) do site só deverão estar disponíveis após a autenticação do usuário e somente o usuário autenticado com o mesmo browser é que poderá ter uma referência para o objeto da sessão criada. 25

Criando uma Sessão Para gravar um atributo de usuário: void session.setattribute(string name, Object value); Exemplo: sesseion.setattribute( login, ADS ); Para recuperar o atributo de um usuário: Object session.getattribute(string name); Exemplo: valor = session.getattribute( login ); 26

Objeto request Solicitação que aciona o processamento da página e busca por valores de parâmetros ou cookies; Sintaxe: request.getparameter(string name); 27

Passando Parâmetros Página index.jsp <% <form name= f1 method= post action= verifica.jsp > <p> <label for= usuario >Usuário:</label> <input name= usuario type= text /><br /> <label for= senha >Senha:</label> <input name= senha type= password /> <br /> <input name= submit type= submit value= Verificar /> %> </p> </form> 28

Recebendo Parâmetros Página verifica.jsp <%... String usuario, senha; usuario = request.getparameter( usuario ); senha = request.getparameter( senha );... if(...){ out.println( Usuário: + usuario + está ok! ); } else { out.println( Usuário e/ou senha incorretos. ); } %> 29

Ambiente de Desenvolvimento Para desenvolvermos uma aplicação JSP é necessário que tenhamos instalado no computador: a JDK (Java Development Kit - http://www.oracle.com/technetwork/java/javase/ downloads/index-jsp-138363.html#javasejdk ) do Java e o Tomcat (http://tomcat.apache.org) que será nosso servidor de aplicação e tratará tudo o que for referente a Java (com exceção do JavaScript) no lado servidor. 30

Ambiente de Desenvolvimento Para facilitar sua vida, vá ao site https://netbeans.org/downloads/ e faça o download do NetBeans, última versão completa; Ao instalar o NetBeans no computador lembre-se de marcar a opção de instalação do Tomcat, pois, a Oracle possui o servidor de aplicação conhecido por Glass Fish e é ele que vem na instalação padrão. 31

Após a Instalação Como verificar se o Tomcat está funcionando? Abra um browser e digite a seguinte url: localhost:8080 deverá aparecer a página de administração do Tomcat. Para acessar o Tomcat é necessário usuário (padrão: admin) e senha (cadastrada durante a instalação). 32

Estrutura de Pastas No NetBeans você poderá colocar seus arquivos referentes a uma determinada aplicação no caminho (sequência de pastas) que você quiser; Já para o Tomcat, para que ele reconheça sua aplicação ela deverá ser colocada na pasta webapps do diretório de instalação do próprio Tomcat. 33

Estrutura de Pastas Sua aplicação deverá possuir uma estrutura de pastas padrão (figura ao lado); Onde, após você construir (dar um Build) o projeto: Dentro da pasta build haverão as seguintes pastas: web onde estarão os arquivos html, jsp e imagens; META-INF onde estará o arquivo context.xml WEB-INF onde estarão as classes, pacotes e bibliotecas utilizadas na aplicação. 34

JSP Vamos colocar a mão na massa? 35

Primeiro Arquivo JSP Vá ao NetBeans e crie um novo projeto web. Para isto escolha: Arquivo Novo Projeto... Categoria: Java Web, Projeto: Web Application, Servidor: Tomcat, Versão do Java EE: a mais recente e Dê um nome para seu projeto (aqui será Projeto01 ) e escolha um local para salvá-lo. Não adicione nenhuma biblioteca e finalize a criação do projeto. 36

Projeto01 Feitos os passos do slide anterior já teremos um projeto de aplicação web prontinho e funcionando; index.jsp Aperte F6 para testar. 37

Comentário No projeto anterior não escrevemos nenhum código JSP; Mas a extensão do arquivo index gerado pelo NetBeans era JSP; Saiba que todo conteúdo que você escrever utilizando JSP será convertido para HTML para que o browser possa interpretá-lo e imprimi-lo. 38

Projeto02 Crie um novo projeto com os mesmos passos do projeto anterior; No corpo <body> da página criada, apague a tag <h1> e todo seu conteúdo. No seu lugar coloque as seguintes linhas de comando: <% String saudacao = Hello world! ; out.println(saudacao); %> Execute o projeto e constate se funciona ou não; index.jsp 39

Projeto03 Podemos imprimir o valor de uma variável JSP de outra maneira; Podemos também fazer comentários em páginas JSP como é feito em qualquer linguagem de programação; Podemos também utilizar a linguagem Java; Vejamos em: index.jsp Crie um projeto no NetBeans com o código do Projeto03 e execute-o; Tudo funcionou? 40

Projeto04 Agora um pequeno projeto utilizando algumas estruturas de programação estruturada ; Vejamos em: index.jsp 41

Projeto05 Agora um pequeno projeto verificando se o acesso a um banco de dados está funcionando; Vejamos em: index.jsp 42

Projeto06 Acessando banco de dados; Utilizando DAO e outras classes; index.jsp Access.java Database.java AlunoDAO.java Aluno.java 43

Projeto07 Um sistema de Lista de Contatos quase completo em JSP: Cadastro, Alteração, Exclusão, Listagem de Dados, SGDB, DAO, Arquivo JSPF (Java Server Page File), CSS, JavaScript e Autenticação de Usuário. Arquivos (próximo slide). 44

Arquivos: verificasessao.jspf index.jsp principal.jsp contatolista.jsp contatocadastro.jsp contatoalteracao.jsp Access.java Database.java Contato.java ContatoDAO.java Projeto07.css Projeto07 45

Bibliografia ANSELMO, Fernando. Tudo sobre a JSP com o NetBeans em Aplicações Distribuídas. Florianópolis: Visual Books, 2005. Caelum. Apostila Fj21. Disponível em: <http://www.cin.ufpe.br/~bnm/courses/caelu mf21.pdf> Acesso em: 15 fev. 2013. TutorialsPoint. JSP. Disponível em: <http://www.tutorialspoint.com/jsp/index.htm > Acesso em: 25 mar. 2013. 46