A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Curso de JSP Básico Camilo Porto Nunes.

Apresentações semelhantes


Apresentação em tema: "Curso de JSP Básico Camilo Porto Nunes."— Transcrição da apresentação:

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

5

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

55

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

57 OBRIGADO!


Carregar ppt "Curso de JSP Básico Camilo Porto Nunes."

Apresentações semelhantes


Anúncios Google