29
1 Prof. Vida. [email protected] Java na WEB Objetivos: Capacitar o aluno a: estruturar o diretório de aplicação do Apache TomCat. configurar parcialmente o arquivo web.xml. desenvolver páginas web dinâmica com a tecnologia JSP. escolher os marcadores necessários para elaboração de páginas HTMLs. utilizar alguns objetos implícitos. SUMÁRIO 1. Programação Java para a WEB com o TomCat............................................. 3 A estrutura de diretório................................................................................... 3 2. JSP................................................................................................................. 8 2.1 O que é JSP? ............................................................................................... 8 2.2 Exemplo de código JSP: arquivo numeros.jsp ................................................. 8 2.3 Resultado da Execução: ................................................................................ 8 2.4 Estilos de Tags ............................................................................................ 8 2.4.1 Diretivas: .............................................................................................. 9 2.4.2 Declarações:.......................................................................................... 9 2.4.3 Expressões: ......................................................................................... 10 2.4.5 Scriptlets............................................................................................. 10 Exercícios:...................................................................................................... 10 3. HTML 4.0 (Resumo de alguns Marcadores)................................................. 10 Marcadores de Texto e Arquivo: ....................................................................... 10 Marcadores de Tabelas:.................................................................................... 14 Exemplo de Marcadores de Tabelas: ................................................................. 16 Marcadores de Formulários: ............................................................................. 16 4. Objetos Implícitos. ........................................................................................ 19 4.1 Introdução ................................................................................................. 19 Atributos escondidos: ................................................................................ 19 Exemplo de definição Atributos: ................................................................. 19 Exemplo de leitura de Atributos: ................................................................ 20 4.2. Objeto page .............................................................................................. 20 4.3 Objeto config............................................................................................. 20 4.4 Objeto request ........................................................................................... 20 Exemplo de alguns métodos do objeto request: .............................................. 22 Exemplo de Sugestão de Formulário de envio: ................................................ 23 Código do Formulário de envio .................................................................... 23 4.5 Objeto response: ........................................................................................ 23 Alguns Métodos do objeto response: ................................................................. 24 Exemplo do objeto response: ........................................................................ 24 4.6 Objeto session ........................................................................................... 24 Métodos do objeto session: ........................................................................... 25 4.7 Objeto application ...................................................................................... 25 Exemplo do objeto application: ..................................................................... 25

javanaWeb1

Embed Size (px)

DESCRIPTION

apostila para aprendizado de java

Citation preview

  • 1Prof. [email protected]

    Java na WEBObjetivos:Capacitar o aluno a: estruturar o diretrio de aplicao do Apache TomCat. configurar parcialmente o arquivo web.xml. desenvolver pginas web dinmica com a tecnologia JSP. escolher os marcadores necessrios para elaborao de pginas HTMLs. utilizar alguns objetos implcitos.

    SUMRIO

    1. Programao Java para a WEB com o TomCat............................................. 3A estrutura de diretrio................................................................................... 3

    2. JSP................................................................................................................. 82.1 O que JSP? ............................................................................................... 82.2 Exemplo de cdigo JSP: arquivo numeros.jsp ................................................. 82.3 Resultado da Execuo: ................................................................................ 82.4 Estilos de Tags ............................................................................................ 8

    2.4.1 Diretivas: .............................................................................................. 92.4.2 Declaraes:.......................................................................................... 92.4.3 Expresses: ......................................................................................... 102.4.5 Scriptlets............................................................................................. 10

    Exerccios:...................................................................................................... 103. HTML 4.0 (Resumo de alguns Marcadores)................................................. 10

    Marcadores de Texto e Arquivo: ....................................................................... 10Marcadores de Tabelas:.................................................................................... 14Exemplo de Marcadores de Tabelas: ................................................................. 16Marcadores de Formulrios: ............................................................................. 16

    4. Objetos Implcitos......................................................................................... 194.1 Introduo ................................................................................................. 19

    Atributos escondidos: ................................................................................ 19Exemplo de definio Atributos:................................................................. 19Exemplo de leitura de Atributos: ................................................................ 20

    4.2. Objeto page .............................................................................................. 204.3 Objeto config............................................................................................. 204.4 Objeto request ........................................................................................... 20

    Exemplo de alguns mtodos do objeto request: .............................................. 22Exemplo de Sugesto de Formulrio de envio:................................................ 23Cdigo do Formulrio de envio .................................................................... 23

    4.5 Objeto response: ........................................................................................ 23Alguns Mtodos do objeto response: ................................................................. 24

    Exemplo do objeto response: ........................................................................ 244.6 Objeto session ........................................................................................... 24

    Mtodos do objeto session: ........................................................................... 254.7 Objeto application...................................................................................... 25

    Exemplo do objeto application: ..................................................................... 25

  • 2Prof. [email protected]

    4. 8 Objeto pageContext................................................................................... 254.9 Objeto exception:....................................................................................... 26

    Arquivo fma.jsp........................................................................................... 26Arquivo calcular.jsp ..................................................................................... 27Arquivo erro.jsp .......................................................................................... 27

    5. Exerccios:.................................................................................................... 28Referncia Bilbiogrfica: .................................................................................. 29

  • 3Prof. [email protected]

    1. Programao Java para a WEB com o TomCatA estrutura de

    diretrioO Apache TomCat, um servidor que, ao ser instalado,

    monta a estrutura de diretrio ilustrada na Figura 1.

    Figura 1-Estrutura de diretrios no Apache

    Em qual pastadeve-se inserir um

    projeto?A pasta webapps indica a entrada das aplicaes web para

    o servidor. Por exemplo, se desejarmos desenvolver um projetochamado teste esse projeto poder ser inserido em umaestrutura de diretrios conforme ilustrado na Figura 2. Cadaprojeto deve ser instalado em sua prpria pasta.

    Na Figura 2, os arquivos so organizados nas categoriasjsp, html e images. Logo, cada diretrio dever armazenar oseu correspondente tipo de arquivo.

    *** O diretrio WEB-INF informa ao servidor web algunsaspectos importantes e no deve ser omitido. Recomenda-seque esse diretrio possua uma especfica estrutura interna paraarmazenar classes e bibliotecas (lib), conforme ilustrado naFigura 2.

    Os aspectos lidos pelo servidor so definidos no arquivoweb.xml armazenado na pasta WEB-INF.

  • 4Prof. [email protected]

    Figura 2-Estrutura de Diretrio de um Projeto chamado teste.

    Exemplo decontedo do

    arquivo web.xml

    Welcome to Java na WEB

    Bem Vindo !

    ./jsp/index.jsp ./jsp/index.html ./html/index.html

    org.apache.jsp.index_jsp org.apache.jsp.index_jsp

    org.apache.jsp.index_jsp /index.jsp

  • 5Prof. [email protected]

    Exemplo de umarquivo index.jsp

    Aplicacao WEB

    InformacoesHost do Servidor:

    O arquivoindex.jsp no

    servidor

    Figura 3 Exemplo de Execuo do Arquivo index.jsp

    Como receber umparmetro de uma

    pgina web?

    Todo e qualquer parmetro ou varivel submetida por umcliente ao servidor pode ser acessado atravs do comandorequest.getParameter().

    Por exemplo, as Figuras 4 e 5 e apresentam duaspossveis execues do arquivo boasvindas.jsp. O cdio jspdesse arquivo apresentado em seguida.

    Cdigo do arquivoboasvindas.jsp

  • 6Prof. [email protected]

    Exemplo deexecuo do

    arquivoboasvindas.jsp

    Figura 4-Exemplo de Execuo do Arquivo boasvindas.jsp com Passagem deParmetro

    Figura 5-Exemplo de Execuo do Arquivo boasvindas.jsp sem Passagem deParmetro

    Como instanciaruma classe?

    As classes que a aplicao necessitar utilizar devem seragrupadas em pacotes e armazenadas na pasta WEB-INF\classes. A Figura 6 exemplifica esse conceito.

    Figura 6-Estrutura de Armazenamento de Classes

    No arquivo JSP, o equivalente instruo import daprogramao Java o comando page import.

    Por exemplo, considerando que uma determinada classeesteja armazenada na pasta chamada calculo ilustrada naFigura 6, a instruo para acessar ao pacote exemplificadaabaixo.

  • 7Prof. [email protected]

    Exemplo: A classeFatorial

    package calculo;

    public class Fatorial{

    public double calcule(double x){ double saida = 1;

    for (double i=x; i>1; i--) saida = saida *i;

    return saida;}

    }

    O arquivocalculafatorial.jsp

    Exemplo deExecuo:

    A Figura 7 exemplifica a execuo do arquivocalculafatorial.jsp.

    Figura 7-Exemplo de Execuo do Arquivo calculafatorial.jsp

  • 8Prof. [email protected]

    2. JSP2.1 O que JSP? Java Server Pages JSP - uma tecnologia que simplifica o

    processo de desenvolvimento de sites web dinmicos. Com JSP, osprogramadores WEB podem incorporar elementos dinmicos empginas da web usando a linguagem Java embutida no cdigo HTMLcom alguns marcadores simples.

    O cdigo abaixo exemplifica um programa/arquivo JSP. Ainstruo java fornecida entre os marcadores . Tudo queestiver entre esses marcadores considerado linguagem Java. O queestiver fora desses marcadores instruo HTML.

    2.2 Exemplo decdigo JSP:

    arquivonumeros.jsp

    Aplicacao WEB

    2.3 Resultado daExecuo:

    Figura 8 - Exemplo de Execuo do Programa Contador

    2.4 Estilos deTags

    A sintaxe do cdigo JSP baseia-se em tags. H quatro tipos deTags, a saber:

    Diretiva: Contm informaes que ajudam o continer aconfigurar e rodar uma pgina JSP.

    Declarao: Pode conter a declarao de varivies, constantesou mtodos.

    Expresso: uma expresso escrita em Java que produz umresultado a ser inserido na pgina.

    Scriptlet: um bloco de cdigo escrito em Java.

  • 9Prof. [email protected]

    2.4.1 Diretivas: Diretivas so tags utilizadas para incluir informaes sobre aprpria pgina JSP. H trs tipos diferentes de diretivas, a saber: page: configura as propriedades de uma pgina jsp. include: insere o contedo de um outro arquivo.

    A diretiva page definida de acordo com a seguinte sintaxe:

    Por exemplo:

    So alguns atributos possveis:Atributo Padro Descrioinfo Permite definir textos que auxiliem an

    documentao.language java especifica a linguagem de criao a ser usada

    nos scripts.content Type indica o tipo MIME da resposta a ser gerada.extends none identifica a super classe da pgina JSP.import none Permite importar uma classe ou um pacote.session true Utilizado para indicar se a pgina participa ou

    no do gerenciamento de sesso.buffer 8kb Controla o buffer de sada.autoFlush true Define que o buffer de sada dever ser

    automaticamente descarregado quando eleestiver cheio.

    isThreadSafe true Define se uma pgina JSP deve ser capaz deresponder a solicitaes simultaneas.

    errorPage none Define uma pgina alternativa a serapresentada caso ocorra um erro em tempo deexecuo.

    2.4.1.1 DiretivaPage:

    isErrorPage false usado para marcar uma pgina JSP queserve como a pgina de erro para uma ou maispginas JSPs.

    2.4.1.2 DiretivaInclude:

    A diretiva include utilizada para inserir o contedo de outroarquivo em uma pgina JSP.

    Exemplo: ...

    2.4.2Declaraes:

    Marcadores utilizados para declarar variveis, constantes oumtodos.

    Exemplo:

  • 10

    Prof. [email protected]

    2.4.3 Expresses: As expresses so marcadores utilizados para embutir na pginaJSP o resultado da avaliao de uma expresso

    Exemplo: A valor de PI

    2.4.5 Scriptlets Scsiptlets so blocos de cdigos de programao. Dentro dessebloco, a linguagem considerada o Java.

    Exemplo:

    Exerccios: 1) Crie uma aplicao para a web que escolha aleatoriamente umnmero entre 1 e 10 e exiba a tabuada desse nmero.

    2) Crie uma aplicao que fornea o seno e o cosseno dos ngulosvariando entre 0 a 360 graus com incremento de 1.

    3. HTML 4.0 (Resumo de alguns Marcadores)

    Marcadores de Texto e Arquivo:Uso: Contm o contedo do documento.Atributos: background=

    bgcolor= text= vlink= alink=

    Nota Pode existir somente um nico elemento BODY. Oelemento BODY pode ser substituido por um elementoFRAMESET

    ...

    Exemplo:

    ola !

    Uso: Usado para inserir comentrios.Atributos: nenhumNota: Os comentrios no esto restritos a uma nica linha e

    podem ter qualquer tamanho.

    Exemplo:

    ... a...

    Uso: Cabealhos que so utilizados para estruturar ainformao.

  • 11

    Prof. [email protected]

    Atributos: align= dir=

    Nota: Os navegadores apresentam o tamanho do texto de acordocom a sua importncia.

    Exemplo:

    Teste Teste2 Teste3

    Uso: Cabealho do documento.Atributos:Nota: Pode existir apenas um nico marcador no

    documento

    ...

    Exemplo: JSP

    Teste Teste2 Teste3

    Uso: Rgua horizontal. Utilizado para separar sees.Atributos: align= possveis so {left, center, right, justify} > noshade size= width =

    Nota: Os navegadores apresentam o tamanho do texto de acordocom a sua importncia.

    Exemplo:

    Uso: Delimita todo o documento.Atributos:Nota:

    ...

    Exemplo:

    ola

    Uso: Define um pargrafo.Atributos: align= so {left, center, right, justify} >

    ...

    Nota:

  • 12

    Prof. [email protected]

    Exemplo:

    Ola

    Uso: negrita um texto.Atributos: align= so {left, center, right, justify} >Nota:

    ...

    Exemplo:

    Ola Ola

    Uso: texto em negrito.Atributos:Nota:

    ...

    Exemplo:

    Ola Ola

    Uso: cria um sobrescrito.Atributos:Nota:

    ...

    Exemplo:

    ola 456

    Uso: cria um subscrito.Atributos:Nota:

    ...

    Exemplo:

    ola 123

    Uso: Define o tamanho da fonte base.Atributos: size=

    color= face=

    Nota:

    Exemplo:

    teste

    Uso: Texto com fonte Grande...

    Atributos:

  • 13

    Prof. [email protected]

    Nota:Exemplo:

    Ola ola

    Uso: altera a fonteAtributos: size = : tamanho relativo 1 a 7

    color= : define o valor da cor face= : define o tipo de fonte

    Nota:

    ...

    Exemplo:

    Ola Ola Ola

    Ola Ola Ola

    Ola Ola Ola

    Uso: Texto sublinhadoAtributos:Nota:

    ...

    Exemplo:

    Ola ola

    Uso: Texto tachadoAtributos:Nota:

    ...

    Exemplo:

    Ola ola

    Uso: Texto com fonte pequenaAtributos:

    ...

    Nota:

  • 14

    Prof. [email protected]

    Exemplo:

    Ola ola

    Uso: Texto monoespaadoAtributos:Nota:

    ...

    Exemplo:

    Ola ola

    Uso: Cria uma listaAtributos:Nota:

    ...

    Exemplo:

    Primeiro Segundo

    Uso: Define links e ancorasAtributos: name= : define uma ancora

    href= : o url vinculado.target= : define o local ande o recurso ser apresentado.Valores possveis {_blank, _parent, _self, _top}.accesskey= :define uma tecla de atalho.

    Nota:

    ...

    Exemplo:

    ola

    Marcadores de Tabelas:

    ...

    Uso: Criar uma tabela

  • 15

    Prof. [email protected]

    Atributos: align= : controle de alinhamento. Valores possveis{left, center, right, justify}

    bgcolor=: define a cor de segundo plano. width= : define a largura da tabela cols= : define o nmero de colunas. border= : define a largura em pixels da borda. frame= : define os lados visveis de uma tabela.

    Valores possveis {void, above, below, hsides, lhs, ths,vsides, box, border}

    rules=: define rguas visveis em uma tabela.Valores possveis {none, groups, rows, cols, all}.

    cellspacing=:espaamento entre clulas. cellpadding= : espaamento nas clulas.

    Nota:

    Uso: Apresenta a legenda de uma tabela.Atributos: align= : Controle de alinhamento. Valores possveis

    {left, center, right, justify}Nota:

    ...

    Uso: Define o contedo de uma clulaAtributos: nowrap= : desativa a mudana automtica de linha

    em uma clula. bgcolor=: define a cor de segunda plano. rowspan= : o nmero de linhas ocupado por uma

    clula. colspan= : o nmero de colunas ocupado por uma

    clula. align= : Controle de alinhamento. Valores possveis

    {left, center, right, justify} valign= : Alinha verticalmente o contedo das

    clulas. Valores possveis {top, middle, botton,baseline}.

    Nota:

    ...

    Uso: Define uma linha de clulas da tabela.Atributos: bgcolor=: define a cor de segunda plano.

    align= : Controle de alinhamento. Valores possveis{left, center, right, justify}

    valign= : Alinha verticalmente o contedo dasclulas. Valores possveis {top, middle, botton,baseline}.

    Nota:

    ...

    Exemplo:...Uso: Define o contedo do cabealho da tabela.

  • 16

    Prof. [email protected]

    Atributos: nowrap= : desativa a mudana automtica de linhaem uma clula.

    bgcolor=: define a cor de segunda plano. rowspan= : o nmero de linhas ocupado por uma

    clula. colspan= : o nmero de colunas ocupado por uma

    clula. align= : Controle de alinhamento. Valores possveis

    {left, center, right, justify} valign= : Alinha verticalmente o contedo das

    clulas. Valores possveis {top, middle, botton,baseline}.

    Exemplo de Marcadores de Tabelas:

    Tabela 1 : f(x)=x^2 X f(x) 1 1 2 4 3 9 4 16

    Marcadores de Formulrios:Uso: Cria um formulrio.Atributos: action=: URL destino.

    method= : Qual o mtodo HTTP de envio. Valorespossveis {post, get}

    target= : Determina onde a URL de destino serapresentada. Valores possveis {_blank, _parent, _self,_top}.

    ...

    Exemplo:

    Uso: Define Controles em formulrios

  • 17

    Prof. [email protected]

    Atributos type= : O tipo de controle de entrada. Valorespossveis {text, password, checkbox, radio, button,submit, reset, file, hidden, image}

    name= : O nome do controle. value= : O valor inicial do controle. Atributo

    obrigatrio apra botes de opo e caixas de seleo. checked : define botes de opo com o estado

    marcado. disabled : desativa o controle. readonly : para tipos de senha de texto. size=, a largura do componente em pixels maxlength= : o nmero mximo de caracteres que

    podem ser digitados. align= : Controle de alinhamento. Valores possveis

    {left, center, right, justify} tabindex= : define a ordem de tabulao entre os

    elementos.Exemplo:

    Laranja Uva Masculino Feminino

  • 18

    Prof. [email protected]

    Uso: Define uma caixa de seleo.

    Atributos: name=: nome do elemento. size= : tamanho multiple : permite mltiplas selees. disable : desabilita o componente. tabindex= : define a ordem de tabulao. valign= : Alinha verticalmente o contedo das

    clulas. Valores possveis {top, middle, botton,baseline}.

    Exemplo 1:

    Curso 1 Curso 2 Curso 3 Curso 4

    ...

    ...

    ...

    Exemplo 2

    Curso 1 Curso 2 Curso 3 Curso 4

    Uso: Cria uma rea para entrada de texto.Atributos: name= : nome do controle

    rows= : quantidade de linhas. cols= :quantidade de colunas. disabled: desativa o controle readonly: o usurio no poder digitar. tabindex: define a ordem de tabulao.

    ...

    Exemplo:

    digite alguma coisa

  • 19

    Prof. [email protected]

    4. Objetos Implcitos.4.1 Introduo

    Conforme apresentado, um programador pode fazer uso dequalquer classe java que ele tenha desenvolvido em uma pgina JSP.Para acessar um objeto de uma pgina JSP, ele necessita inserir ainstruo import. Por exemplo, .

    Alm desse recurso, o programador ainda pode fazer uso de noveobjetos inplcitos. Eles so denominados objetos inplcitos pois a suaexistncia implicita a qualquer pgina JSP:

    Os nove objetos implcitos so listado a seguir: Objetos relacionados ao servlet:

    page config

    Objetos relacionados s Input/Output: request response out

    Objetos Contextuais: session application pageContext

    Objetos relacionados a tratamento de erros: exception

    Atributosescondidos:

    Os objetos request, session, application e pageContext possuema habilidade de armazenar e recuperar valores de atributos arbitrrios.Ao definir e obter o valor de um atributo, essas informaes podem sercompartilhadas por diversas pginas JSPs.

    So mtodos comuns para armazenar atributos: setAttribute(String key, String valor) public Enumeration getAttributeNames() public String getAtribute(String key) removeAttibute(key)

    Exemplo dedefinio

    Atributos:

  • 20

    Prof. [email protected]

    Exemplo deleitura de

    Atributos:

    4.2. Objetopage

    Implementa a interface javax.servlet.jsp.HttpJspPage e representa aprpria pgina JSP. Ele pode ser utilizado como uma referncia aoservlet que ser gerado a partir desta pgina durante o processo detraduo.

    Na prtica, o objeto para raramente usado quando a linguagem decriao de scripts de JSP o Java.

    4.3 Objetoconfig

    O objeto config armazena dados de configurao de servlet naforma de inicializao para o servlet no qual a JSP compilada. Eleimplementa a interface javax.servlet.ServletContext.

    Na prtica, esse objeto raramente usado. As pginas JSPraramente precisam acessar dados atravs de parmetros deinicializao.

    4.4 Objetorequest

    Objeto que representa a solicitao que acionou o processamentoda pgina atual.

    Mtodos que esto associados ao objeto: public Enumeration getParameterNames( ) => retorna os nomes

    de todos os parmetros de solicitao. public String getParameter(String key) => retorna o primeiro

    valor de um nico parmetro de solicitao. public String[ ] getParameterValues(String key) => Recupera

    todos os valores para um nico parmetro de solicitao.

    getHeaderNames( ) => Recupera o nome de todos oscabealhos associados com a solicitao.

    getHeader( key ) => Retorna o valor de um nico cabealho desolicitao.

    getHeaders( key ) => Retorna todos os valores para um nicocabealho de solicitao.

    getIntHeader( key ) => Retorna um nico cabealho desolicitao, como un nmero inteiro.

    getDateHeader( key ) => Retorna o valor de um nicocabealho de solicitao como uma data.

    public Cookie[ ] getCookies( ) => Retorna todos os cookiesassociados com a solicitao.

    getMethod( ) => Retorna o mtodo de HTTP (ex. GET, POST )

  • 21

    Prof. [email protected]

    para a solicitao. getRequestURL( ) => Retorna o URL de solicitao. getQueryString( ) => Retorna a cadeia de consulta que segue o

    URL de solicitao, se houver algum. getSession (flag) => Recupera os dados de sesso para a

    solicitao. getRequestDispacher( path) => Cria um dispacher de

    solicitao para o URL local indicado. getRemoteHost( ) => Retorna o nome do host que enviou a

    solicitao. getRemoteAddr( ) => Retorna o endereo de rede do host que

    enviou a solicitao. getRemoteUser( ) => Retorna o nome do usurio que enviou a

    solicitao, se conhecido.

    Figura 9 - Snapshot do exemplo Mtodos Request

  • 22

    Prof. [email protected]

    Exemplo dealguns mtodos

    do objetorequest:

    Dados recebidos:

    Exemplo de public String getParameter(Stringkey):

    Exemplo de public String[ ]getParameterValues(String key):

    Exemplo getHeaderNames( ) egetHeader(key)

    Exemplo de getCookies( )

    Exemplo de outros metodos request

  • 23

    Prof. [email protected]

    Exemplo deSugesto de

    Formulrio deenvio:

    Figura 10-Exemplo de formulrio

    Cdigo doFormulrio de

    envio

    Cadastro de Aluno

    Nome: Sexo: Masculino Feminino Solicita matricula nos seguintes cursos: Java Programacao C Linux Banco de Dados

    4.5 Objetoresponse:

    Implementa a interface javax.servlet.http.HttpServletResponde erepresenta a resposta a ser produzida pelo servlet gerada a partir deuma pgina JSP.

    O objeto response pode ser utilizado para manipular vriosaspectos da resposta a ser produzida, tais como o tipo e tamanho damesma e os cabealhos HTTP que sero enviados junto.

  • 24

    Prof. [email protected]

    setContentType( ) Define o tipo MIME e, opcionalmente,acodificao de caracteres do contedo daresposta.

    addCookie(cookie) Adiciona o cookie especificado resposta.setDateHeader( nome, date)

    Atribui o valor de data especificado nocabealho nomeado.

    setHeader( nome, valor)

    Atribui o valor de cadeia especificado aocabealho nomeado.

    Alguns Mtodosdo objetoresponse:

    sendRedirect(url) Envia uma resposta para o navegadorindicando que ele deveria solicitar um URLalternativo.

    Exemplo doobjeto response:

    Nao armazena no cahe do navegador. Primeiro, ele define o cabealho "Expires"para uma data no passado. Isto indica ao navegadorque a pgina j expirou, e o seu contedo no deveser armazenado no cache.

    O valor "no-cache" para o cabealho Pragma fornecido pela verso 1.0 do protocolo HTTP, paraindicar que os navegadores e servidores proxy nodevem armazenar um cache a pgina.A verso 1.1 de HTTP substitui este cabealho porum cabealho "Cache-Control" mais especfico, masrecomenda a incluso do cabealho "Pragma"tambm,para a compatibilidade com as verses anteriores.

    4.6 Objetosession

    Objeto que representa a sesso atual de um usurio individual.Todas as solicitaes feitas por um usurio, que so partes uma

    srie de interaes com o servidor web, so consideradas parte de umasesso. Enquanto o servidor web receber novas solicitaes feitas pelosusurios, a sesso persiste. Se um longo perodo de tempo passar semque o usurio faa uma nova solicitao, a sesso expira.

    Um dos principais usos para o objeto session o de armazenar erecuperar valores de atributos a fim de transmitir informaesespecficas de usurios entre as pginas.

    Exemplo:

    Uma vez armazenado, o dado pode ser lido atravs do seuintetrecho de cdigo:

  • 25

    Prof. [email protected]

    getId( ) Retorna o ID da sesso.getCreationTime() Retorna a hora na qual a sesso foi

    criada.getLastAccessedTime() Retorna a ltima vez que uma

    solicitao associada com a sessofoi recebida.

    getMaxInactiveInterval()

    Retorna o tempo mximo (emsegundos) entre solicitaes peloqua a sesso ser mantida.

    isNew() Retorna true se onavegador dousurio ainda no tiver confirmado oID de sesso.

    Mtodos doobjeto session:

    invalidate() Descarta a sesso, libera todos osobjetos armazenados comoatributos.

    4.7 Objetoapplication

    Objeto que representa a aplicao qual a pgina JSP pertence.

    Exemplo doobjeto

    application:

    4. 8 ObjetopageContext

    Oferece mtodos essenciais para o armazenamento de informaesem memria para que possam ser recuperadas em momento posterior,dentro da mesma pgina ou em outras pginas ou at por outros tiposde componentes da aplicao.

  • 26

    Prof. [email protected]

    4.9 Objetoexception:

    uma instncia da classe Throwable e utilizado para otratamento de erros ou excees. Esse objeto apenas est disponvel empginas JSPs que definem o atributo isErrorPage da diretiva page paratrue.

    Como exemplo, vamos considerar uma aplicao que recebaparmetros de um formulrio. Ao analisar esses padrmetros, um erropode ocorrer, como por exemplo, converso do tipo de dado. Se umerro ocorrer, uma pgina especfica pode ser apresentada. Nessapgina, o erro tratado.

    Arquivofma.jsp

    Massa (kg):Acelerao (m/(s*s)):

  • 27

    Prof. [email protected]

    Arquivocalcular.jsp

    Arquivoerro.jsp

    Erro na solicitao

    =0) { causa = "Faltou informar um dado!"; oQueFazer="Volte e preencha os camposobrigatrios."; }

    if(tipo.indexOf("java.lang.NumberFormatException")>=0) { causa = "Nmero Invlido!"; oQueFazer="Volte e preencha os camposobrigatrios."; }

  • 28

    Prof. [email protected]

    out.println("Tipo de erro="+tipo ); out.println("Causa Provavel:" + causa); out.println("O que fazer?:" + oQueFazer); }%>

    5. Exerccios:1) Criar uma aplicao JSP com a seguinte estrutura:

    index.html formulrio que permite que o usurio pode registre os seusdados pessoais tais como: nome, data de nascimento, sexo, endereo,grau de escolaridade {ensino fundamental, ensino mdio, graduao,especializao, mestrado e doutorado}.

    processa.jsp: aplicao que exibe os dados fornecidos.2) Criar uma aplicao JSP com a seguinte estrutura:

    index.html: permite que o usurio entre com trs nmeros, a saber: a, be c.

    processa.jsp: aplicao que exibe o valor das razes x1 e x2,considerando que a, b e c so coeficientes de uma equao de segundograu .0. 2 =++ cbxxa

    3) Criar uma aplicao JSP que permita que o usurio digite um texto em umaTextArea, selecione o tipo de fonte {Arial, Times, courier ou System}, oestilo {itlico, negrito e sublinhado } e clique no boto enviar. Um novoarquivo JSP formado com o texto digitado sendo apresentado com aconfigurao definida pelo usurio.

  • 29

    Prof. [email protected]

    Referncia Bilbiogrfica:[1 ] (Fields, D. K., Kolb, M.A.) Desenvolvendo na Web com Java Server Pages. Rio de

    Janeiro. Editora Cincia Moderna LTDA (2000). ISBN 85-7393-00-0. 558p.[2] (Pekowsky, L.) JavaServer Pages, Second Edition. Addison Wesley. August 15,

    2003. ISBN : 0-321-15079-1 . 368p.[3] (Santos, R. R.) Java na Web Programando Sites Dinmicos. Rio de Janeiro.

    Editora Axcel Books do Brasil (2007). ISBN: 85-7323-159-9. 373p.