módulo iva - servletsismael/cursos/xjavawebxml/... · para executar servlets e arquivos jsp, é...
TRANSCRIPT
![Page 1: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/1.jpg)
1
April 05 Prof. Ismael H. F. Santos - [email protected] 1
Módulo IVa - Servlets
Prof. Ismael H F Santos
April 05 Prof. Ismael H. F. Santos - [email protected] 2
Ementa
Módulo IVa – ServletsOverview Servlets e JSPCiclo de VidaHTTP ServletsGerenciamento de SessãoContêineres Web – Apache TomcatCookies
![Page 2: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/2.jpg)
2
April 05 Prof. Ismael H. F. Santos - [email protected] 3
Linguagem de Programação JAVAIsmael H. F. Santos, Apostila UniverCidade, 2002
The Java Tutorial: A practical guide for programmersTutorial on-line: http://java.sun.com/docs/books/tutorial
Java in a NutshellDavid Flanagan, O´Reilly & Associates
Just Java 2Mark C. Chan, Steven W. Griffith e Anthony F. Iasi, Makron
Books.Java 1.2
Laura Lemay & Rogers Cadenhead, Editora Campos
Bibliografia
April 05 Prof. Ismael H. F. Santos - [email protected] 4
LivrosCore Java 2, Cay S. Horstmann, Gary Cornell
Volume 1 (Fundamentos)Volume 2 (Características Avançadas)
Java: Como Programar, Deitel & DeitelThinking in Patterns with JAVA, Bruce Eckel
Gratuito. http://www.mindview.net/Books/TIJ/
![Page 3: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/3.jpg)
3
April 05 Prof. Ismael H. F. Santos - [email protected] 5
ServletsE
JSP
POO-Java
April 05 Prof. Ismael H. F. Santos - [email protected] 6
Servlet API
![Page 4: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/4.jpg)
4
April 05 Prof. Ismael H. F. Santos - [email protected] 7
Java e Aplicações Web
April 05 Prof. Ismael H. F. Santos - [email protected] 8
Servlets - Introdução
![Page 5: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/5.jpg)
5
April 05 Prof. Ismael H. F. Santos - [email protected] 9
Primeiro Servlet
April 05 Prof. Ismael H. F. Santos - [email protected] 10
Primeiro JSP
![Page 6: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/6.jpg)
6
April 05 Prof. Ismael H. F. Santos - [email protected] 11
Pagina recebida no browser
April 05 Prof. Ismael H. F. Santos - [email protected] 12
JavaBeans
![Page 7: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/7.jpg)
7
April 05 Prof. Ismael H. F. Santos - [email protected] 13
Java Beans
Um Java Bean nada mais é do que uma classe Java com algumas características especiais:
Possui um construtor default (lista de parâmetros vazios)Possui propriedades (métodos de acesso get e setpara os seus atributos.). Forma geral:
public TipoPropriedade getPropriedade(); public voidsetPropriedade(TipoPropriedade valor);
Exemplo de bean:Usuario.java (nas paste web dos exemplos)
April 05 Prof. Ismael H. F. Santos - [email protected] 14
Exemplo de JavaBean
![Page 8: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/8.jpg)
8
April 05 Prof. Ismael H. F. Santos - [email protected] 15
Usando JavaBean em pagina JSP
Imprime: Hello, World
April 05 Prof. Ismael H. F. Santos - [email protected] 16
Componentes Web
![Page 9: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/9.jpg)
9
April 05 Prof. Ismael H. F. Santos - [email protected] 17
Contextos em Aplicações Web
April 05 Prof. Ismael H. F. Santos - [email protected] 18
Estrutura de uma Aplicação Web
![Page 10: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/10.jpg)
10
April 05 Prof. Ismael H. F. Santos - [email protected] 19
Componentes de um contexto
April 05 Prof. Ismael H. F. Santos - [email protected] 20
URL de acesso ao contexto
![Page 11: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/11.jpg)
11
April 05 Prof. Ismael H. F. Santos - [email protected] 21
Criando um contexto válido
April 05 Prof. Ismael H. F. Santos - [email protected] 22
Exemplo configuração (1/3)
![Page 12: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/12.jpg)
12
April 05 Prof. Ismael H. F. Santos - [email protected] 23
Exemplo configuração (2/3)
April 05 Prof. Ismael H. F. Santos - [email protected] 24
Exemplo configuração (3/3)
![Page 13: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/13.jpg)
13
April 05 Prof. Ismael H. F. Santos - [email protected] 25
Web Archive
April 05 Prof. Ismael H. F. Santos - [email protected] 26
Ciclode Vida
POO-Java
![Page 14: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/14.jpg)
14
April 05 Prof. Ismael H. F. Santos - [email protected] 27
Servlets - API
April 05 Prof. Ismael H. F. Santos - [email protected] 28
Servlets – Ciclo de Vida
![Page 15: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/15.jpg)
15
April 05 Prof. Ismael H. F. Santos - [email protected] 29
Servlets – Ciclo de Vida
April 05 Prof. Ismael H. F. Santos - [email protected] 30
Servlets – Métodos de Serviço
![Page 16: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/16.jpg)
16
April 05 Prof. Ismael H. F. Santos - [email protected] 31
Servlets – Métodos de Serviço (2)
April 05 Prof. Ismael H. F. Santos - [email protected] 32
HTTPServlets
POO-Java
![Page 17: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/17.jpg)
17
April 05 Prof. Ismael H. F. Santos - [email protected] 33
HTTP Servlets - API
April 05 Prof. Ismael H. F. Santos - [email protected] 34
Criando um HTTP servlet
![Page 18: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/18.jpg)
18
April 05 Prof. Ismael H. F. Santos - [email protected] 35
Métodos de serviço HTTP
April 05 Prof. Ismael H. F. Santos - [email protected] 36
Inicialização
![Page 19: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/19.jpg)
19
April 05 Prof. Ismael H. F. Santos - [email protected] 37
Requisição HTTP
April 05 Prof. Ismael H. F. Santos - [email protected] 38
Obtendo dados da requisição
![Page 20: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/20.jpg)
20
April 05 Prof. Ismael H. F. Santos - [email protected] 39
Resposta HTTP
April 05 Prof. Ismael H. F. Santos - [email protected] 40
Preenchimento da resposta
![Page 21: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/21.jpg)
21
April 05 Prof. Ismael H. F. Santos - [email protected] 41
doGet() e doPost()
April 05 Prof. Ismael H. F. Santos - [email protected] 42
Parâmetros da requisição
![Page 22: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/22.jpg)
22
April 05 Prof. Ismael H. F. Santos - [email protected] 43
Obtendo parâmetros da requisição
April 05 Prof. Ismael H. F. Santos - [email protected] 44
Gerando a resposta
![Page 23: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/23.jpg)
23
April 05 Prof. Ismael H. F. Santos - [email protected] 45
Compilação e implementação
April 05 Prof. Ismael H. F. Santos - [email protected] 46
Execução
![Page 24: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/24.jpg)
24
April 05 Prof. Ismael H. F. Santos - [email protected] 47
Instâncias de servlets
April 05 Prof. Ismael H. F. Santos - [email protected] 48
Servlet alias – mapeamento no web.xml
![Page 25: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/25.jpg)
25
April 05 Prof. Ismael H. F. Santos - [email protected] 49
Sintaxe de mapeamentos
April 05 Prof. Ismael H. F. Santos - [email protected] 50
Anatomia de uma URL
![Page 26: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/26.jpg)
26
April 05 Prof. Ismael H. F. Santos - [email protected] 51
ServletConfig
April 05 Prof. Ismael H. F. Santos - [email protected] 52
Parâmetros de inicialização
![Page 27: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/27.jpg)
27
April 05 Prof. Ismael H. F. Santos - [email protected] 53
Lendo Parâmetros de inicialização
April 05 Prof. Ismael H. F. Santos - [email protected] 54
ServletContext
![Page 28: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/28.jpg)
28
April 05 Prof. Ismael H. F. Santos - [email protected] 55
Inicialização de contexto
April 05 Prof. Ismael H. F. Santos - [email protected] 56
Carregamento de arquivos no contexto
![Page 29: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/29.jpg)
29
April 05 Prof. Ismael H. F. Santos - [email protected] 57
Gravação de atributos no contexto
April 05 Prof. Ismael H. F. Santos - [email protected] 58
Escopo e Threads
![Page 30: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/30.jpg)
30
April 05 Prof. Ismael H. F. Santos - [email protected] 59
Repasse de requisição
April 05 Prof. Ismael H. F. Santos - [email protected] 60
Redirecionamento x Repasse
![Page 31: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/31.jpg)
31
April 05 Prof. Ismael H. F. Santos - [email protected] 61
GerenciamentoSessão
POO-Java
April 05 Prof. Ismael H. F. Santos - [email protected] 62
Sessões
![Page 32: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/32.jpg)
32
April 05 Prof. Ismael H. F. Santos - [email protected] 63
Sessões
April 05 Prof. Ismael H. F. Santos - [email protected] 64
Compartilhamento objetos na seção
![Page 33: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/33.jpg)
33
April 05 Prof. Ismael H. F. Santos - [email protected] 65
Sessão
April 05 Prof. Ismael H. F. Santos - [email protected] 66
Escopo de objetos em servlets
![Page 34: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/34.jpg)
34
April 05 Prof. Ismael H. F. Santos - [email protected] 67
Escopo de objetos em servlets: resumo
April 05 Prof. Ismael H. F. Santos - [email protected] 68
Recursos compartilhados
![Page 35: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/35.jpg)
35
April 05 Prof. Ismael H. F. Santos - [email protected] 69
Acesso a Bancos de Dados
April 05 Prof. Ismael H. F. Santos - [email protected] 70
Acesso ao pool de conexões
![Page 36: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/36.jpg)
36
April 05 Prof. Ismael H. F. Santos - [email protected] 71
Configurando o Tomcat
POO-Java
April 05 Prof. Ismael H. F. Santos - [email protected] 72
Contêineres WEBOs scriptlets contidos nas páginas JSP são processados pelo Contêiner JSP;
Ao browser, chega apenas a página HTML resultante do processamento do arquivo .jsp. Ou seja scriptlets(<% ... %>) nunca chegam ao browser.
Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web.
Um Contêiner Web pode estar executando como parte de um servidor HTTP ou pode ele próprio ser o servidor.
![Page 37: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/37.jpg)
37
April 05 Prof. Ismael H. F. Santos - [email protected] 73
Contêineres WEBO Contêiner Web é responsável por:
transformar arquivos JSP em arquivos fonte em Java (mais especificamente, em fontes servlets)compilar esses arquivos fonte, criando arquivos .classrepassar esses arquivos .class à JVM para para execução.
Existem diversos Contêineres WEB atualmente...
April 05 Prof. Ismael H. F. Santos - [email protected] 74
Contêineres WEB (cont.)Apache Tomcat
http://jakarta.apache.org/tomcat/Sun JSWDK
http://java.sun.com/products/servlet/download.htmlAllaire JRun
http://www.allaire.com/products/jrun/New Atlanta ServletExec
http://newatlanta.com/Gefion Software LiteWebServer
http://www.gefionsoftware.com/LiteWebServer/Sun Java Web Server™
http://www.sun.com/software/jwebserver/try/
![Page 38: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/38.jpg)
38
April 05 Prof. Ismael H. F. Santos - [email protected] 75
Contêineres WEB (cont.)Bluestone
http://www.bluestone.comBorland Enterprise Server
http://www.inprise.comiPlanet Application Server
http://www.iplanet.comOrbix E2A (formally iPortal)
http://www.iona.comJetty
http://www.mortbay.comJRun
http://www.allaire.com
April 05 Prof. Ismael H. F. Santos - [email protected] 76
Contêineres WEB (cont.)
Orion Application Serverhttp://www.orionserver.com
Resinhttp://www.caucho.com
SilverStreamhttp://www.silverstream.com
Weblogic Application Serverhttp://www.bea.com
WebSpherehttp://www-4.ibm.com/sfotware/webservers/appserv
![Page 39: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/39.jpg)
39
April 05 Prof. Ismael H. F. Santos - [email protected] 77
Tomcat
É um servidor Web (open source) do projeto Apache.Atualmente, na versão 5.0.xO dois principais módulos do Tomcat são
Catalina, o contêiner WEB do Tomcat.Jasper, o compilador de páginas JSPConectores. O conector padrão é o HTTP.
Por default, o Tomcat ocupará a porta 8080 da máquina onde estiver executando.Pasta de instalação default (CATALINA_HOME)
C:\Program Files\Apache Software Foundation\Tomcat 5.0
April 05 Prof. Ismael H. F. Santos - [email protected] 78
Estrutura de pastas do Tomcat 5.0
work: onde são gerados os .java das servlets a partir de JSPsbin: executáveis do Tomcatcommons: classes utilizadas pelo Tomcat que também estão disponíveis para as aplicações implantadas.webapps: pastas de contextos (para conter as aplicações Web)shared: contém classes que visíveis para todas as aplicações (e.g., driver JDBC)
![Page 40: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/40.jpg)
40
April 05 Prof. Ismael H. F. Santos - [email protected] 79
Estrutura de pastas do Tomcat 5.0
server: classes que formam o servidor Tomcat e o seu contêiner WEB.conf: arquivos de configuração (server.xml e outros)logs: arquivos de log para as aplicações. Refira-se a esses arquivos para depurar suas aplicações.temp: diretório temporário utilizado internamente pelo Tomcat
April 05 Prof. Ismael H. F. Santos - [email protected] 80
Operação com o Tomcat
Derrubando e levantando: para levantar ou derrubar o Tomcat, utilize a ferramenta Tomcat Monitor.
Alternativamente, pode-se fazer isso com os scripts localizados na pasta bin: startup.bat e shutdown.bat.
Abra um navegador WEB e acesse a página cujo endereço é http://localhost:8080O resultado é a página principal do Tomcat
Com links para documentação a para administração do servidorTomcat Manager (gerenciamento das aplicações WEB)Tomcat Administration (configuração do servidor WEB)Exemplos de JSPs e de servlets
![Page 41: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/41.jpg)
41
April 05 Prof. Ismael H. F. Santos - [email protected] 81
Contextos
Um contexto é um diretório que deve ser criado pelo programador para que o Tomcat reconheça os arquivos e recursos de uma aplicação Web.Esses diretórios armazenam os recursos (arquivos) de uma aplicação WEB.No Tomcat, há três maneiras de criar o contexto de uma aplicação WEB:1. Transferir os arquivos da aplicação (JSP, servlets, imagens,
etc.) para contextos predefinidos pelo servidor.2. Configurar o servidor para que reconheça um novo contexto
onde os arquivos da aplicação residem (server.xml)3. Implantar a aplicação como um WebArchive (WAR)
April 05 Prof. Ismael H. F. Santos - [email protected] 82
Implantação de aplicações no Tomcat
O contexto raiz chama-se ROOT.Arquivos copiados para <CATALINA_HOME>\webapps\ROOT podem ser acessados via http://servidor:8080/Servlets em <CATALINA_HOME>\webapps\ROOT\WEB-INF\classes podem ser acessados via http://servidor:8080/servlet/
![Page 42: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/42.jpg)
42
April 05 Prof. Ismael H. F. Santos - [email protected] 83
Implantação de aplicações no Tomcat
Para informar o Tomcat de um contexto externo à raiz, o arquivo server.xml deve ser editado.
Esse arquivo é armazenado em <CATALINA_HOME>\confExemplo: contexto expljsp.
Para aplicações complexas, crie um ou mais arquivos WAR (Web ARchive)
Use a ferramenta jar para empacotar os arquivos da aplicação.Renomeie o arquivo com a extensão war.Copie esse arquivo para a pasta raiz do contêiner.
April 05 Prof. Ismael H. F. Santos - [email protected] 84
Construção de uma servletPassos para construir uma servlet1. Crie uma estrutura de diretórios para a sua aplicação.
Pastas WEB-INF e classesNota: o conteúdo de WEB-INF não é visível a partir do browser.
2. Escreva o código fonte da servlet.É necessário importar os pacotes javax.servlet e javax.servlet.http.
3. Compile o código fonte. O arquivo servlet-api.jar deve estar no classpath
Localizado em <CATALINA_HOME>\common\lib\servlet-api.jar
![Page 43: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/43.jpg)
43
April 05 Prof. Ismael H. F. Santos - [email protected] 85
Construção de uma servletPassos para construir uma servlet (cont.)
4. Crie um descritor de implantação (deploymentdescriptor).
Passo opcional.Um descritor de implantação é um arquivo XML (web.xml)
5. Execute o Tomcat. 6. Chame a servlet a partir de um navegador web.
April 05 Prof. Ismael H. F. Santos - [email protected] 86
Jakarta Tomcat - Configuração
Registrando ServletsO arquivo web.xml
Localizado em geral no diretório:%CATALINA_HOME%\webapps\<Aplicacao>\WEB-INF
Registrando um servlet:<web-app>
<servlet><servlet-name>ServletSes</servlet-name><servlet-class>interfPesquisa.ServletSes</servlet-class>
</servlet></web-app>
![Page 44: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/44.jpg)
44
April 05 Prof. Ismael H. F. Santos - [email protected] 87
Jakarta Tomcat - Configuração
Parametros de inicializaçãoMuitas vezes existem valores que são constantes durante a execução do servlet, mas que podem mudar durante a vida da aplicação:Exemplo:
Localização de recursos, Mensagens padrão
Principais métodos Classes Servlet e ServletConfig
public java.util.Enumeration getInitParameterNames()public java.lang.StringgetInitParameter(java.lang.String name)
April 05 Prof. Ismael H. F. Santos - [email protected] 88
Parâmetros de InicializaçãoConfigurando no Tomcat
Arquivo web.xml
![Page 45: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/45.jpg)
45
April 05 Prof. Ismael H. F. Santos - [email protected] 89
Jakarta Tomcat - Configuração
init( ServletConfig config )
April 05 Prof. Ismael H. F. Santos - [email protected] 90
CookiesPOO-Java
![Page 46: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/46.jpg)
46
April 05 Prof. Ismael H. F. Santos - [email protected] 91
Controle de sessão
April 05 Prof. Ismael H. F. Santos - [email protected] 92
Cookies
![Page 47: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/47.jpg)
47
April 05 Prof. Ismael H. F. Santos - [email protected] 93
Exemplo com cookies: Loja Virtual
April 05 Prof. Ismael H. F. Santos - [email protected] 94
Cookies
Um cookie corresponde a uma informação que o servidor requisita que seja armazenada no cliente.
Seguem sempre o formato: nome=valorExemplos: usuario=bezerra, id=1234
Cookies são criados através de cabeçalhos HTTP, pelo uso da diretiva Set-Cookie.Exemplo:Content-type: text/htmlContent-length: 43894Set-Cookie: usuario=bezerraSet-Cookie: ultimologin=13%09%2004
![Page 48: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/48.jpg)
48
April 05 Prof. Ismael H. F. Santos - [email protected] 95
Cookies (cont.)
Usos típicos de cookies:Identificar um usuário durante uma sessão de e-commerce.Evitar utilização de nome de usuário e senhaCustomização de sitesPropaganda direcionada
Enviando um cookie para o browser em JSP:<%Cookie c = new Cookie(“usuario”, “bezerra”);c.setMaxAge(2592000); // Secondsresponse.addCookie(c);%>
April 05 Prof. Ismael H. F. Santos - [email protected] 96
Cookies (cont.)Enviando um cookie para o browser em uma servlet:...Cookie c = new Cookie("name", "value");c.setMaxAge(...);response.addCookie(c);...
![Page 49: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web](https://reader031.vdocuments.pub/reader031/viewer/2022021911/5c238e1b09d3f2da4f8bc1cd/html5/thumbnails/49.jpg)
49
April 05 Prof. Ismael H. F. Santos - [email protected] 97
Cookies (cont.)
Lendo cookies do browser em uma servlet:...Cookie[] cookies = response.getCookies();
for(int i=0; i<cookies.length; i++) {Cookie c = cookies[i];if (c.getName().equals("someName")) {doSomethingWith(c);break;
}}...