Curso de JSP Básico Camilo Porto Nunes.

Slides:



Advertisements
Apresentações semelhantes
Paulo Marques Hernâni Pedroso
Advertisements

Objetos Implícitos Contextuais
Personalização Objecto Profile. 1 O objecto Profile O objecto Profile permite armazenar informação única de um utilizador. Quando o utilizador visita.
Prof. Thiago Pereira Rique
HTML – Hyper Text Markup Language
Projeto de Sistemas de Software
Projeto de Sistemas de Software
Alcides Calsavara JSP JavaServer Pages Alcides Calsavara
Java Server Pages (JSPs)
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Tecnologia para Web JavaScript
Prof.: Carlos Hairon R. Gonçalves
Geração Dinâmica de Páginas com JSP Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação.
Prof. Marco Aurelio N. Esteves
Desenvolvimento de Soluções WEB Escopos de uma Aplicação Web
Tecnologias para Internet
EL e JSTL Prof. Danton Cavalcanti Franco Junior
Desenvolvimento de Projetos e Aplicações Web
Protocolo HTTP e HTML Prof. Danton Cavalcanti Franco Junior
Desenvolvimento WEB I Camila Nunes
Introdução a linguagem Python
Capítulo 2 Java Servlets.
Aulas ministradas por:
Por André Luis e Arthur Kalsing Mini-curso de PHP.
Curso básico de PHP 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Linguagem de Programação JAVA
 Muitas aplicações se faz necessário o acompanhamento da navegação do usuário armazenando informações específicas de cada um.  É comum hoje em dia acessarmos.
Classes, Objetos, Atributos e Métodos JAVA
Java para Web com Struts
Formulários HTML Jobson Ronan
Professor: Márcio Amador
7 - Criação de Páginas Web
JSP / Servlets Avançado
PrograMação para internet
Arquitetura das JSP - Aula 2
Aplicações Web com Orientação a Objetos
Unidade 6 – Formulários HTML Prof.: Henrique Santos
PHP e Formulários Web.
Aplicativos Web Com Orientação a Objetos – Java Server Pages(JSP) Prof. Odair
JSP JavaServer Pages Marco Antonio, Arquiteto de Software – TJDF Dezembro/2005.
Bruno Inojosa MCP.NET Framework.NET com C#. Aula V  Tópicos abordados:  Desenvolvendo para internet (Parte III) Gerenciamento de Estados User Controls.
PROGRAMAÇÃO WEB AULA 01 Prof. Gustavo Linhares
PEC - JSP Jobson Ronan Objetivos Esta aula apresenta tudo o que é necessário para implementar servlets escrevendo JavaServer Pages.
Aula Prática 5 Monitoria IP/CC (~if669). Roteiro 1. 1.Recursão 2. 2.Escopo de Variáveis 3. 3.Arrays 4. 4.Strings.
ASP.NET Conteúdo Introdução
JavaServer Faces Rapid Web Application Development em Java Ricardo Cavalcanti Jobson Ronan
JSP – Mais Recursos Jobson Ronan
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Unidade 5 – Integrando JSP e Servlets Prof.: Henrique Santos
Bruno Inojosa MCP .NET Framework
OBJETIVO Nesta aula será apresentado o desenvolvimento básico sobre HTTP Servlets. Espera-se que, ao final da apresentação, o aluno tenha noções de como.
José Francisco PHP & MySQL. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente.
Introdução à JSP JavaServer Pages Alcides Calsavara.
Programação Distribuída em Java Aula 09 - JSP. Na aula passada vimos: Aspectos gerais de segurança em Java policytool Instalação de políticas de segurança.
Java Server Pages Um estudo de caso para aprendizagem Renata França de Pontes.
Feapa Prof Osiel Marlon Disciplina: Engenharia de Software 2009 Curso: Sistemas de Informação.
JSTL.
Aula 5 – Formulários GET – POST - REQUEST
Introdução a Arquitetura, HTML e CSS
Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Array e ArrayList LPOO – 01/09/14.
Programação para Web I AULA 2 BANCO DE DADOS.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
WWW e HTML HTML - Básico Curso de Formação de Usuários WWW e Projetistas de Paginas HTML Organização: LSI - EPUSP.
1 AJAX em aplicações Rails Lívia Monnerat Castro
Prof. Rogerio Alessandro Bueno 1 JavaServer Pages (JSP) Prof. Rogério A. Bueno.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Curso de JSP Básico Camilo Porto Nunes

SUMÁRIO Introdução Estrutura de uma página JSP Diretivas Scripting elements Standard Actions Implicit Objects Tratamento de parâmetros e formulários Estudo de caso

Explicação baseado em uma aplicação simples de cadastro de livros. Aplicação permite inserir/pesquisar/remover livros em um banco de dados. Esquema do banco de dados: Livro ( isbn NUMBER(12) PRIMARY KEY, titulo VARCHAR2(70) NOT NULL, autor VARCHAR2(70) NOT NULL, categoria VARCHAR2(70) NOT NULL ); INTRODUÇÃO

O esquema de páginas da aplicação é o seguinte: INTRODUÇÃO

JSP = Java Server Pages Tecnologia para criação de páginas web dinâmicas. O que é uma página web dinâmica? - “São páginas que geram o seu conteúdo HTML dinamicamente, de acordo com alguma entrada recebida”. Exemplos? INTRODUÇÃO

Como isso é feito com JSP? Semelhante à um programa comum, ESCRITO EM PURO JAVA (recebe uma entrada, e produz saídas, possivelmente diferentes, baseado nas entradas recebidas). Exemplo:... String helloMsg = in.readLine(); System.out.println(“Hello World! ”+helloMsg);... INTRODUÇÃO

EXEMPLO JSP:... <% String helloMsg = request.getParameter(“helloMsg”); %> Hello World! INTRODUÇÃO

ESTRUTURA DA PÁGINA

Uma página JSP pode ser dividida, basicamente, nas seguintes partes: Cabecalho: inclui diretivas que informam alguns atributos da página bem como algumas configurações (imports, contentType, página de erro...) Declarações: inclui declarações de métodos, atributos, constantes, etc. Corpo da página: inclui o código que irá gerar o html dinâmico ESTRUTURA DA PÁGINA

O corpo da página pode combinar: –HTML estático; –Código JAVA puro, ou scriptlets: –Diretivas: –Expressões: ) –Actions: dentre outras... –Qualquer outro tipo de conteúdo estático: (JavaScript, SVG, XML, etc...). Iremos nos aprofundar nos elementos estruturais da página ao longo do curso. ESTRUTURA DA PÁGINA

DIRETIVAS: Page Define alguns atributos importantes para a página –Language: Linguagem de script a ser utilizada (default = JAVA) –Extends: pouco usado... –Import: Lista de classes importadas a serem utilizadas na página –Session: (true/false) especifica se a página faz parte da sessão do usuário (objeto session disponível ou não) ESTRUTURA DA PÁGINA

Diretiva Page (cont...) –Buffer: tamanho do buffer a ser utilizado (default 8Kb) –errorPage: especifica uma URL para uma página de tratamento de erros. –isErrorPage: informa se a página é de tratamento de erro ou não. –contentType: define o contentType da página (XML, text, HTML, etc..) Dentre outros.... ESTRUTURA DA PÁGINA

Diretiva INCLUDE: Inclui o conteúdo de um arquivo no local da definição da diretiva Isso ocorre na primeira vez que a página for requisitada.

ESTRUTURA DA PÁGINA Diretiva TAGLIB Insere uma tag customizada (definida pelo programador) para ser acessível na página.

ESTRUTURA DA PÁGINA Scripting Elements DECLARAÇÕES: Bloco de código JAVA que define variáveis, constantes e métodos referentes a página. É definido entre os símbolos Exemplo: <%! int numTimes=0; public String sayHello(String name) { return “Hello “+name+”!”; } %>

ESTRUTURA DA PÁGINA Scriptlets Bloco de código JAVA que será executado durante a requisição à página. Exemplo: <% for (int i=0; i<10; i++) out.println(“ i= “+i+” ”); %>

ESTRUTURA DA PÁGINA Expressões Notação simples para scriptlets que serão avaliados e retornarão seus valores ao cliente. Exemplo:... int numTimes;... Esta página foi acessada

STANDARD ACTIONS

São tags XML que afetam o comportamento de tempo de execução da página, e oferecem outra alternativa de implementar tarefas freqüentemente executadas (Bean Access). Mais importantes: Include, forward, useBean, getProperty, setProperty

É uma boa opção para separar código Java da apresentação. Pode-se elaborar uma página JSP inteira apenas com tags XML, sem precisar escrever uma única linha de código em Java... STANDARD ACTIONS

Equivalente a new Object() Syntax:

STANDARD ACTIONS useBean – Parâmetros Id: identificador da instância do objeto. Scope: visibilidade do objeto Class: nome completo da classe da instância beanName: define o nome para referenciar o bean através do método instatiate() da classe java.beans.Beans.

STANDARD ACTIONS Type: tipo a ser tratado o objeto (especifica um CAST para o tipo definido). Pode gerar ClassCastException

STANDARD ACTIONS, Semelhante a métodos getXX() e setXX() de um objeto Java. Recuperam/Alteram valores das propriedades de Beans. Podem ser usada em conjunto com para iniciar as propriedades do Bean

STANDARD ACTIONS GetProperty (Principais parâmetros) Name: nome do bean (id do useBean, não confundir com ). Property: nome da propriedade.

STANDARD ACTIONS SetProperty (Principais Parâmetros) Name: nome do Bean (id do useBean) Property: propriedade a ser alterada. Value: novo valor da propriedade Param: associa o valor do parâmetro da requisição especificado ao valor da propriedade

STANDARD ACTIONS Exemplos de useBean + get/setProperty....

Exemplos de useBean + get/setProperty.... * Qual o valor atribuído na propriedade acima? STANDARD ACTIONS

Exemplos de useBean + get/setProperty.... * Qual valor atribuído às propriedades do bean acima? STANDARD ACTIONS

TAGs e - Uso Básico: – Inclui o conteúdo da página “includedPage.jsp” em uma página JSP. VS adiciona o conteúdo da página em tempo de execução. em tempo de compilação STANDARD ACTIONS

TAGs e - Uso Básico: – Redireciona a requisição atual para a página “forwardedPage.jsp” STANDARD ACTIONS

Exemplos e.... STANDARD ACTIONS

Pagina navigBar.html: pagina1 | pagina2 |... paginaN STANDARD ACTIONS

Exemplo... String login, senha... <% if(!login.equals(“loginCorreto”) || !senha.equals(“senhaCorreta”)) { %> <% else..... STANDARD ACTIONS

OBJETOS IMPLÍCITOS

As páginas JSP oferecem, automaticamente, instâncias de objetos especiais que estão prontas para serem referenciadas. Os nomes dessas variáveis são padronizados: Request, response, out, session, application, page, pageContext, config. Iremos abordar apenas os mais usados... OBJETOS IMPLÍCITOS

REQUEST: Encapsula todos os dados/metadados contidos numa requisição http. O que contém, basicamente, uma requisição http? OBJETOS IMPLÍCITOS

URL requisitada Cookies Content Type (texto, XML, html, imagem...) Request Type (GET / Post) Parâmetros enviados de campos de formulários ou explícitamente na URL (após o símbolo '?') OBJETOS IMPLÍCITOS

Exemplo de URL: =”Camilo Porto” PARÂMETROVALOR logincamilo nameCamilo Porto OBJETOS IMPLÍCITOS

REQUEST (Métodos básicos): String getParameter(String paramName); Object getAttribute(String attribName); Void setAttribute(String attribName, Object attrib); OBJETOS IMPLÍCITOS

SESSION: Representa a sessão iniciada pelo usuário. Uma sessão é ativada no instante da primeira requisição de um usuário à aplicação. É terminada explicitamente pela aplicação, ou por timeout. Pode-se colocar objetos na sessão para persistir durante toda a navegação do usuário no site. OBJETOS IMPLÍCITOS

SESSION (Cont..) O objeto não estará acessível se a página JSP não fizer parte da sessão (diretiva ) Por default, session=true OBJETOS IMPLÍCITOS

SESSION (Métodos Básicos): Object getAttribute(String attribName); Void setAttribute(String attribName, Object attrib); Esses objetos estarão disponíveis enquanto a sessão estiver ativa. OBJETOS IMPLÍCITOS

APPLICATION Guarda configurações da sua aplicação WEB, tais como: Context path, parâmetros de inicialização. Também pode armazenar atributos, os quais estarão disponíveis enquanto a aplicação estiver no ar. OBJETOS IMPLÍCITOS

APPLICATION (Métodos Básicos): ServletContext getServletContext(); Object getAttribute(String attribName); Void setAttribute(String attribName, Object attrib); OBJETOS IMPLÍCITOS

ESCOPO: Page: Acessível em toda a página JSP Request: acessível durante toda uma requisição Session: acessível durante toda uma sessão Application: acessível enquanto a aplicação estiver rodando. OBJETOS IMPLÍCITOS

TRATAMENTO DE FORMS

Tratamento de formulários são as atividades mais comuns em páginas dinâmicas. O tratamento é feito através da manipulação de parâmetros enviados na requisição (seja pelo método POST ou GET) Parâmetros também ajudam nas decisões de processamento da página (controle de login, senha, sessão, fluxo de páginas etc..) TRATAMENTO DE FORMS

Os parâmetros de um formulário são enviados na requisição HTTP, sendo assim, estarão acessíveis através do objeto implícito REQUEST. Parâmetros são acessados através dos métodos: getParameter(String paramName); getParameterValues(String paramName); TRATAMENTO DE FORMS

EXEMPLO BÁSICO: (página que contém o form)... Nome: Sobrenome: TRATAMENTO DE FORMS

trataForm.jsp... <% String nome = request.getParameter(“nome”); String sobrenome = request.getParameter(“sobreNome”); %> Seu nome é: Seu sobrenome é:..... TRATAMENTO DE FORMS

ESTUDO DE CASO

Vamos analisar o código da aplicação simples de cadastro de livros. Poderemos inserir/remover/pesquisar livros que serão armazenados em uma tabela simples no banco de dados oracle 10g. O fluxo entre as páginas é mostrado adiante. ESTUDO DE CASO

HOLDEN, Mac. Professional Java Server Programming J2EE Edition, 2ed, Wrox. DAMON, Hougland. Core JSP. 1 ed, Prentice Hall. BIBLIOGRAFÍA

OBRIGADO!