Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAna Luísa Bernadete Escobar Corte-Real Alterado mais de 9 anos atrás
1
http://www.lsi.dsc.ufcg.edu.br/ Curso de JSP Básico Camilo Porto Nunes
2
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
3
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
4
O esquema de páginas da aplicação é o seguinte: INTRODUÇÃO
6
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
7
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
8
EXEMPLO JSP:... <% String helloMsg = request.getParameter(“helloMsg”); %> Hello World! INTRODUÇÃO
9
ESTRUTURA DA PÁGINA
10
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
11
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
12
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
13
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
14
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.
15
ESTRUTURA DA PÁGINA Diretiva TAGLIB Insere uma tag customizada (definida pelo programador) para ser acessível na página.
16
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+”!”; } %>
17
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+” ”); %>
18
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
19
STANDARD ACTIONS
20
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
21
É 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
22
Equivalente a new Object() Syntax:
23
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.
24
STANDARD ACTIONS Type: tipo a ser tratado o objeto (especifica um CAST para o tipo definido). Pode gerar ClassCastException
25
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
26
STANDARD ACTIONS GetProperty (Principais parâmetros) Name: nome do bean (id do useBean, não confundir com ). Property: nome da propriedade.
27
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
28
STANDARD ACTIONS Exemplos de useBean + get/setProperty....
29
Exemplos de useBean + get/setProperty.... * Qual o valor atribuído na propriedade acima? STANDARD ACTIONS
30
Exemplos de useBean + get/setProperty.... * Qual valor atribuído às propriedades do bean acima? STANDARD ACTIONS
31
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
32
TAGs e - Uso Básico: – Redireciona a requisição atual para a página “forwardedPage.jsp” STANDARD ACTIONS
33
Exemplos e.... STANDARD ACTIONS
34
Pagina navigBar.html: pagina1 | pagina2 |... paginaN STANDARD ACTIONS
35
Exemplo... String login, senha... <% if(!login.equals(“loginCorreto”) || !senha.equals(“senhaCorreta”)) { %> <% else..... STANDARD ACTIONS
36
OBJETOS IMPLÍCITOS
37
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
38
REQUEST: Encapsula todos os dados/metadados contidos numa requisição http. O que contém, basicamente, uma requisição http? OBJETOS IMPLÍCITOS
39
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
40
Exemplo de URL: http://domain.com?login=camilo&name =”Camilo Porto” PARÂMETROVALOR logincamilo nameCamilo Porto OBJETOS IMPLÍCITOS
41
REQUEST (Métodos básicos): String getParameter(String paramName); Object getAttribute(String attribName); Void setAttribute(String attribName, Object attrib); OBJETOS IMPLÍCITOS
42
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
43
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
44
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
45
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
46
APPLICATION (Métodos Básicos): ServletContext getServletContext(); Object getAttribute(String attribName); Void setAttribute(String attribName, Object attrib); OBJETOS IMPLÍCITOS
47
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
48
TRATAMENTO DE FORMS
49
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
50
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
51
EXEMPLO BÁSICO: (página que contém o form)... Nome: Sobrenome: TRATAMENTO DE FORMS
52
trataForm.jsp... <% String nome = request.getParameter(“nome”); String sobrenome = request.getParameter(“sobreNome”); %> Seu nome é: Seu sobrenome é:..... TRATAMENTO DE FORMS
53
ESTUDO DE CASO
54
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
56
HOLDEN, Mac. Professional Java Server Programming J2EE Edition, 2ed, Wrox. DAMON, Hougland. Core JSP. 1 ed, Prentice Hall. BIBLIOGRAFÍA
57
OBRIGADO!
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.