![Page 1: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/1.jpg)
http://www.lsi.dsc.ufcg.edu.br/
Curso de JSP Básico
Camilo Porto Nunes
![Page 2: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/2.jpg)
SUMÁRIOSUMÁ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
![Page 3: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/3.jpg)
• 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ÇÃOINTRODUÇÃO
![Page 4: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/4.jpg)
• O esquema de páginas da aplicação é o seguinte:
INTRODUÇÃOINTRODUÇÃO
![Page 5: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/5.jpg)
![Page 6: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/6.jpg)
• 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ÇÃOINTRODUÇÃO
![Page 7: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/7.jpg)
• 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ÇÃOINTRODUÇÃO
![Page 8: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/8.jpg)
• EXEMPLO JSP:...<%String helloMsg =
request.getParameter(“helloMsg”);%><b>Hello World! <%=helloMsg%> </b>
INTRODUÇÃOINTRODUÇÃO
![Page 9: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/9.jpg)
ESTRUTURA DA PÁGINAESTRUTURA DA PÁGINA
![Page 10: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/10.jpg)
• 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ÁGINAESTRUTURA DA PÁGINA
![Page 11: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/11.jpg)
• O corpo da página pode combinar:– HTML estático;– Código JAVA puro, ou scriptlets: <%...%>– Diretivas: <%@.....%>– Expressões: <%=.......%>)– Actions: <jsp:include../> 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ÁGINAESTRUTURA DA PÁGINA
![Page 12: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/12.jpg)
• 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ÁGINAESTRUTURA DA PÁGINA
![Page 13: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/13.jpg)
• 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ÁGINAESTRUTURA DA PÁGINA
![Page 14: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/14.jpg)
ESTRUTURA DA PÁGINAESTRUTURA DA PÁGINA• Diretiva INCLUDE:• Inclui o conteúdo de um arquivo no local
da definição da diretiva....<%@ include file=“file.html” %>...• Isso ocorre na primeira vez que a
página for requisitada.
![Page 15: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/15.jpg)
ESTRUTURA DA PÁGINAESTRUTURA DA PÁGINA
• Diretiva TAGLIB• Insere uma tag customizada (definida
pelo programador) para ser acessível na página.
![Page 16: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/16.jpg)
ESTRUTURA DA PÁGINAESTRUTURA 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 <%! e %>
• Exemplo:<%!
int numTimes=0;public String sayHello(String name) {
return “Hello “+name+”!”;}
%>
![Page 17: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/17.jpg)
ESTRUTURA DA PÁGINAESTRUTURA 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(“<b> i= “+i+”</b><br>”);%>
![Page 18: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/18.jpg)
ESTRUTURA DA PÁGINAESTRUTURA DA PÁGINA• Expressões• Notação simples para scriptlets que serão
avaliados e retornarão seus valores ao cliente.• Exemplo:...
int numTimes;...<b> Esta página foi acessada <%=numTimes+
+%> </b>
![Page 19: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/19.jpg)
STANDARD ACTIONSSTANDARD ACTIONS
![Page 20: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/20.jpg)
STANDARD ACTIONSSTANDARD 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
![Page 21: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/21.jpg)
• É 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 ACTIONSSTANDARD ACTIONS
![Page 22: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/22.jpg)
STANDARD ACTIONSSTANDARD ACTIONS
• <jsp:useBean>• Equivalente a new Object()• Syntax:• <jsp:useBean param1=“value1”...>
![Page 23: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/23.jpg)
STANDARD ACTIONSSTANDARD 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.
![Page 24: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/24.jpg)
STANDARD ACTIONSSTANDARD ACTIONS
• Type: tipo a ser tratado o objeto (especifica um CAST para o tipo definido). Pode gerar ClassCastException
![Page 25: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/25.jpg)
STANDARD ACTIONSSTANDARD ACTIONS
• <jsp:getProperty>, <jsp:setProperty>• Semelhante a métodos getXX() e
setXX() de um objeto Java.• Recuperam/Alteram valores das
propriedades de Beans.• Podem ser usada em conjunto com
<jsp:useBean> para iniciar as propriedades do Bean
![Page 26: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/26.jpg)
STANDARD ACTIONSSTANDARD ACTIONS
• GetProperty (Principais parâmetros)• Name: nome do bean (id do useBean,
não confundir com <useBean.. name=””/>).
• Property: nome da propriedade.
![Page 27: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/27.jpg)
STANDARD ACTIONSSTANDARD 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
![Page 28: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/28.jpg)
STANDARD ACTIONSSTANDARD ACTIONS
• Exemplos de useBean + get/setProperty....<jsp:useBean id=”myBean”
class=”org.MyBean”><jsp:setProperty name=”myBean”
property=”nome” value=”Camilo Porto”></jsp:useBean>
![Page 29: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/29.jpg)
• Exemplos de useBean + get/setProperty....<jsp:useBean id=”myBean”
class=”org.MyBean”><jsp:setProperty name=”myBean”
property=”nome”></jsp:useBean>* Qual o valor atribuído na propriedade
acima?
STANDARD ACTIONSSTANDARD ACTIONS
![Page 30: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/30.jpg)
• Exemplos de useBean + get/setProperty....<jsp:useBean id=”myBean”
class=”org.MyBean”><jsp:setProperty name=”myBean”
property=”*”></jsp:useBean>
* Qual valor atribuído às propriedades do bean acima?
STANDARD ACTIONSSTANDARD ACTIONS
![Page 31: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/31.jpg)
• TAGs <jsp:include> e <jsp:forward>• <jsp:include> - Uso Básico:
– <jsp:include page=”includedPage.jsp” />Inclui o conteúdo da página “includedPage.jsp” em uma
página JSP.<%@ include%> VS <jsp:include/>
• <jsp:include/> adiciona o conteúdo da página em tempo de execução.
• <%@ include%> em tempo de compilação
STANDARD ACTIONSSTANDARD ACTIONS
![Page 32: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/32.jpg)
• TAGs <jsp:include> e <jsp:forward>• <jsp:forward> - Uso Básico:
– <jsp:forward page=”forwardedPage.jsp” />Redireciona a requisição atual para a página
“forwardedPage.jsp”
STANDARD ACTIONSSTANDARD ACTIONS
![Page 33: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/33.jpg)
• Exemplos <jsp:include> e <jsp:forward><html>....<body>....<jsp:include page=”navigBar.html” /></body></html>
STANDARD ACTIONSSTANDARD ACTIONS
![Page 34: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/34.jpg)
• Pagina navigBar.html:<p><b><a href=”pagina1.html”> pagina1 </a> |<a href=”pagina2.html”> pagina2 </a> |...<a href=”paginaN.html”> paginaN </a> </b></p>
STANDARD ACTIONSSTANDARD ACTIONS
![Page 35: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/35.jpg)
• Exemplo <jsp:forward>
...
String login, senha
...
<%
if(!login.equals(“loginCorreto”) || !senha.equals(“senhaCorreta”)) {
%><jsp:forward page=”login.jsp”/>
<%
else .....
STANDARD ACTIONSSTANDARD ACTIONS
![Page 36: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/36.jpg)
OBJETOS IMPLÍCITOSOBJETOS IMPLÍCITOS
![Page 37: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/37.jpg)
• 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ÍCITOSOBJETOS IMPLÍCITOS
![Page 38: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/38.jpg)
• REQUEST:• Encapsula todos os dados/metadados
contidos numa requisição http.• O que contém, basicamente, uma
requisição http?
OBJETOS IMPLÍCITOSOBJETOS IMPLÍCITOS
![Page 39: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/39.jpg)
• 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ÍCITOSOBJETOS IMPLÍCITOS
![Page 40: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/40.jpg)
• Exemplo de URL:• http://domain.com?
login=camilo&name=”Camilo Porto”PARÂMETRO VALORlogin camiloname Camilo Porto
OBJETOS IMPLÍCITOSOBJETOS IMPLÍCITOS
![Page 41: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/41.jpg)
• REQUEST (Métodos básicos):• String getParameter(String paramName);• Object getAttribute(String attribName);• Void setAttribute(String attribName, Object
attrib);
OBJETOS IMPLÍCITOSOBJETOS IMPLÍCITOS
![Page 42: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/42.jpg)
• 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ÍCITOSOBJETOS IMPLÍCITOS
![Page 43: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/43.jpg)
• SESSION (Cont..)• O objeto não estará acessível se a página
JSP não fizer parte da sessão• (diretiva <%@ page session=false
%>)• Por default, session=true
OBJETOS IMPLÍCITOSOBJETOS IMPLÍCITOS
![Page 44: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/44.jpg)
• 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ÍCITOSOBJETOS IMPLÍCITOS
![Page 45: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/45.jpg)
• 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ÍCITOSOBJETOS IMPLÍCITOS
![Page 46: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/46.jpg)
• APPLICATION (Métodos Básicos):• ServletContext getServletContext();• Object getAttribute(String attribName);• Void setAttribute(String attribName, Object
attrib);
OBJETOS IMPLÍCITOSOBJETOS IMPLÍCITOS
![Page 47: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/47.jpg)
• 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ÍCITOSOBJETOS IMPLÍCITOS
![Page 48: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/48.jpg)
TRATAMENTO DE FORMSTRATAMENTO DE FORMS
![Page 49: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/49.jpg)
• 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 FORMSTRATAMENTO DE FORMS
![Page 50: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/50.jpg)
• 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 FORMSTRATAMENTO DE FORMS
![Page 51: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/51.jpg)
• EXEMPLO BÁSICO: (página que contém o form)...<form action=”trataForm.jsp” method=”post”>
Nome: <input name=”nome” type=”text”>Sobrenome: <input type=”text”
name=”sobreNome”><input type=”submit” value=”Enviar”>
</form>
TRATAMENTO DE FORMSTRATAMENTO DE FORMS
![Page 52: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/52.jpg)
• trataForm.jsp...<%String nome = request.getParameter(“nome”);String sobrenome =
request.getParameter(“sobreNome”);%>Seu nome é: <%= nome %> <BR>Seu sobrenome é: <%=sobrenome %>.....
TRATAMENTO DE FORMSTRATAMENTO DE FORMS
![Page 53: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/53.jpg)
ESTUDO DE CASOESTUDO DE CASO
![Page 54: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/54.jpg)
• 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 CASOESTUDO DE CASO
![Page 55: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/55.jpg)
![Page 56: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/56.jpg)
• HOLDEN, Mac. Professional Java Server Programming J2EE Edition, 2ed, Wrox.
• DAMON, Hougland. Core JSP. 1 ed, Prentice Hall.
BIBLIOGRAFÍABIBLIOGRAFÍA
![Page 57: Http:// Curso de JSP Básico Camilo Porto Nunes](https://reader035.vdocuments.com.br/reader035/viewer/2022062818/5706384c1a28abb8238f6292/html5/thumbnails/57.jpg)
OBRIGADO!OBRIGADO!